home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 February / EnigmA AMIGA RUN 15 (1997)(G.R. Edizioni)(IT)[!][issue 1997-02][PLANET CD V].iso / progs / thor / thor_api / docs / bbsread.doc < prev   
Text File  |  1996-08-05  |  128KB  |  3,963 lines

  1. TABLE OF CONTENTS
  2.  
  3. bbsread.library/--background--
  4. bbsread.library/AppendPassiveConfList
  5. bbsread.library/Archive
  6. bbsread.library/BBSEventArchiver
  7. bbsread.library/BBSUserData
  8. bbsread.library/BufBRClose
  9. bbsread.library/BufBROpen
  10. bbsread.library/BufBRRead
  11. bbsread.library/BufBRSeek
  12. bbsread.library/BufBRWrite
  13. bbsread.library/CharsetConvert
  14. bbsread.library/ConfCharset
  15. bbsread.library/ConfigBBS
  16. bbsread.library/ConfigConf
  17. bbsread.library/ConfigFArea
  18. bbsread.library/ConfigGlobal
  19. bbsread.library/ConfigType
  20. bbsread.library/ConfLineLength
  21. bbsread.library/EndOfAdding
  22. bbsread.library/ExternalBBSConfig
  23. bbsread.library/FindDupBRMsg
  24. bbsread.library/FindOrginalNr
  25. bbsread.library/FreeBRObject
  26. bbsread.library/GetBBSList
  27. bbsread.library/GetConfigValue
  28. bbsread.library/GetConfList
  29. bbsread.library/GetFAreaList
  30. bbsread.library/GetGlobalConfig
  31. bbsread.library/GetMarkedMsg
  32. bbsread.library/GetSignature
  33. bbsread.library/GetTagFile
  34. bbsread.library/GetTypeList
  35. bbsread.library/MakeEventPackage
  36. bbsread.library/MarkMessage
  37. bbsread.library/PackDataFile
  38. bbsread.library/ParseGrab
  39. bbsread.library/PGPBREvents
  40. bbsread.library/ReadBREvent
  41. bbsread.library/ReadBRFile
  42. bbsread.library/ReadBRKill
  43. bbsread.library/ReadBRMessage
  44. bbsread.library/ReadBRUser
  45. bbsread.library/ReadPassiveConfList
  46. bbsread.library/ScanForGrabs
  47. bbsread.library/SearchBRFile
  48. bbsread.library/SearchBRMessage
  49. bbsread.library/SearchBRUser
  50. bbsread.library/StartOfAdding
  51. bbsread.library/TypeFromBBS
  52. bbsread.library/UnArchive
  53. bbsread.library/UniqueMsgFile
  54. bbsread.library/UpdateBREvent
  55. bbsread.library/UpdateBRMessage
  56. bbsread.library/UpdateDataStruct
  57. bbsread.library/WriteBREvent
  58. bbsread.library/WriteBRFile
  59. bbsread.library/WriteBRIEFMsg
  60. bbsread.library/WriteBRKill
  61. bbsread.library/WriteBRMessage
  62. bbsread.library/WriteBRUser
  63. bbsread.library/WritePassiveConfList
  64. Messages/WriteMsgPartTag
  65. bbsread.library/--background--                 bbsread.library/--background--
  66.  
  67.     NOTES
  68.     Since this library uses functions in the dos.library, only processes
  69.     should open and use this library.
  70.  
  71.     All strings passed to functions in this library should use the 
  72.     standard Amiga character set (ISO). Use CharsetConvert() to convert 
  73.     the charset of strings which is not in ISO.
  74.  
  75.     The library uses two envirorment variables: 
  76.     o THOR/BBSDataPath - Path to where to store the database and 
  77.         configuration files.
  78.     o THOR/THORPath - Path to where the Thor system is installed. This
  79.         path *must* end with a ':' or a '/'.
  80.  
  81.     Progress Hooks:
  82.     Several functions support call back progress hooks. The hook is 
  83.     called with a BRProgress structure as the object parameter. The 
  84.     BRProgress structure is describred in <libraries/bbsread.h>. The 
  85.     tags for progress hooks are global:
  86.     
  87.     BR_ProgressHook - Callback hook for progress report is pointed by 
  88.         (struct Hook *) ti_Data. Returning non-zero from the callback hook 
  89.         will stop the operation and in some cases make the function
  90.         return failure.
  91.  
  92.     BR_ProgressUpdates - The maximum number of calls to the callback hook
  93.         for one pass is in (ULONG) ti_Data. The default is 100.
  94.  
  95.     BR_ProgressReturn - Pointer to a ULONG to store the return 
  96.         value from the progress hook is in (ULONG *) ti_Data. 
  97.  
  98.     Common configuration tags: 
  99.     (Not supported by all configuration functions yet.)
  100.  
  101.     BRCFG_Use - Don't store the changes done to the configuration if 
  102.         (BOOL) ti_Data is TRUE.
  103.  
  104.     BRCFG_LastSaved - Will retrive the configuration last saved before 
  105.         applying any changes.
  106.     
  107.  
  108. bbsread.library/AppendPassiveConfList   bbsread.library/AppendPassiveConfList
  109.  
  110.    NAME    
  111.     AppendPassiveConfList - Append to the passive conference list.
  112.  
  113.    SYNOPSIS
  114.     error = AppendPassiveConfList( bbs, passConfList )
  115.     D0                             A0        A1
  116.  
  117.     BOOL AppendPassiveConfList( struct BBSListItem *, struct List * );
  118.  
  119.    FUNCTION
  120.     Appends a list of struct PasssConfListItem to a passive conference
  121.     list. No checking for duplicates will be done. If you don't have the 
  122.     internal number for the conference, pl_BBSConfNr must be initalized 
  123.     to -1.
  124.  
  125.    INPUTS
  126.     bbs - Pointer to the bbs which the list should be added to.
  127.     passConfList - Pointer to a list of struct PasssConfListItem. 
  128.  
  129.    RESULT
  130.     error - Boolean.
  131.  
  132.    EXAMPLE
  133.  
  134.    NOTES
  135.  
  136.    BUGS
  137.  
  138.    SEE ALSO
  139.  
  140. bbsread.library/Archive                               bbsread.library/Archive
  141.  
  142.    NAME    
  143.     Archive -- Add files to an archive.
  144.  
  145.    SYNOPSIS
  146.     error = Archive( arcitem, archive, tagitems )
  147.     D0                 A0       A1        A2
  148.  
  149.     LONG Archive( struct ArcConfigItem *, STRPTR, struct TagItem * );
  150.  
  151.     error = ArchiveTags( arcitem, archive, Tag1, ...)
  152.  
  153.     LONG ArchiveTags(struct ArcConfigItem *, STRPTR, ULONG, ...);
  154.  
  155.    FUNCTION
  156.     This function add files to an archive. The type of archiver to use is
  157.     determined with the arcitem. 
  158.     
  159.     The ability to return failure when the archiver fails depends on how 
  160.     the archivers behave.
  161.  
  162.     The tags not understood are forwarded to dos.library/SystemTagList(). 
  163.     Look at dos.library/SystemTagList() for futher information on tags.
  164.  
  165.    INPUTS
  166.     arcitem - Pointer to struct ArcConfigItem to tell which archiver to 
  167.         use.
  168.  
  169.     archive - Pointer to path and name of archive to add to.
  170.     tagitems - Pointer to TagItem array. See <dos/dostags.h>.  Both 
  171.         dos.library/SystemTagList() tags and dos.library/CreateNewProc()
  172.         tags may be passed.
  173.  
  174.     Here are the TagItem.ti_Tag values that are defined for
  175.     Archive().
  176.  
  177.     AR_AddFile - File to add to archive is in (STRPTR) ti_Data. At least 
  178.         one occurance of this tag must be passed.
  179.     
  180.     AR_SourceDir - Path to source directory is in (STRPTR) it_Data. 
  181.         Default is to use current directory as source directory.
  182.  
  183.    RESULT
  184.     error    - 0 for success, result from archiver, or -1.  Note that on
  185.         error, the caller is responsible for any filehandles or other
  186.         things passed in via tags.
  187.  
  188.    EXAMPLE
  189.  
  190.    NOTES
  191.  
  192.    BUGS
  193.  
  194.    SEE ALSO
  195.  
  196. bbsread.library/BBSEventArchiver             bbsread.library/BBSEventArchiver
  197.  
  198.    NAME    
  199.     BBSEventArchiver - Returns the EventArchiver for a bbs.
  200.  
  201.    SYNOPSIS
  202.     arcitem = BBSEventArchiver( bbs )
  203.     D0                          A0
  204.  
  205.     struct ArcConfigItem * BBSEventArchiver( struct BBSListItem * );
  206.  
  207.    FUNCTION
  208.     Returns the ArcConfigItem structure correspondig to the EventArchiver
  209.     for this bbs. If the bbs has no defined event archiver, the event
  210.     archiver for the bbs type will be returned.
  211.  
  212.     Use this function instead of searching the ArcItem list by name for 
  213.     the correspondig ArcConfigItem.
  214.  
  215.     The ArcConfigItem structure returned is not a part of a list, so don't
  216.     use the ac_Node. The structure must be deallocated with 
  217.     FreeBRObject().
  218.  
  219.    INPUTS
  220.     bbs - Pointer to the bbs to get the archiver to.
  221.  
  222.    RESULT
  223.     arcitem - Pointer to a ArcConfigItem for the bbs. Returns a NULL 
  224.         pointer on failure (IoErr() will be set) or if the bbs and type 
  225.         has no defined EventArchiver. 
  226.  
  227.    EXAMPLE
  228.  
  229.    NOTES
  230.  
  231.    BUGS
  232.  
  233.    SEE ALSO
  234.  
  235. bbsread.library/BBSUserData                       bbsread.library/BBSUserData
  236.  
  237.    NAME    
  238.     BBSUserData -- Return the prefered userdata for a BBS.
  239.  
  240.    SYNOPSIS
  241.     userdata = BBSUserData( globals, bbs )
  242.     D0                        A0      A1
  243.  
  244.     struct UserData * BBSUserData( struct GlobalConfig *, 
  245.         struct BBSListItem * );
  246.  
  247.    FUNCTION
  248.     Get the prefered userdata for a bbs. The data is returned in a structure. 
  249.     The structure *must* be freed with FreeBRObject().
  250.  
  251.    INPUTS
  252.     globals - Pointer to your copy of the global configuration.
  253.     bbs - Pointer to BBSListItem for BBS to get UserData for. Can be a 
  254.         NULL-pointer.
  255.  
  256.    RESULT
  257.     userdata - Filled out UserData structure. NULL on failure.
  258.  
  259.    EXAMPLE
  260.  
  261.    NOTES
  262.     The pointers in the UserData structure is a copy of the pointers in 
  263.     either GlobalConfig or BBSData. Therefore, the pointers are only valid 
  264.     as long as you don't free or update any of these structures. 
  265.  
  266.    BUGS
  267.  
  268.    SEE ALSO
  269.  
  270. bbsread.library/BufBRClose                         bbsread.library/BufBRClose
  271.  
  272.    NAME    
  273.     BufBRClose -- Close a file used with BBSRead buffering.
  274.  
  275.    SYNOPSIS
  276.     success = BufBRClose( fileid )
  277.     D0                      A0
  278.  
  279.     BOOL BufBRClose( APTR );
  280.  
  281.    FUNCTION
  282.     Close a file opened by BufBROpen(). 
  283.  
  284.    INPUTS
  285.     fileid - Fileid for file to close.
  286.  
  287.    RESULT
  288.     success - Boolean.
  289.  
  290.    EXAMPLE
  291.  
  292.    NOTES
  293.  
  294.    BUGS
  295.  
  296.    SEE ALSO
  297.  
  298. bbsread.library/BufBROpen                           bbsread.library/BufBROpen
  299.  
  300.    NAME    
  301.     BufBROpen -- Open a BBSRead buffered file for input or output.
  302.  
  303.    SYNOPSIS
  304.     fileid = BufBROpen( name, accessMode )
  305.     D0                   A0       D0
  306.  
  307.     APTR BufBROpen( STRPTR, LONG );
  308.  
  309.    FUNCTION
  310.     The named file is prepared to be used for input or output through the 
  311.     BBSRead buffering system. All files are opened in shared mode. Uses 
  312.     the same mode constants as dos.library/Open().
  313.  
  314.     BBSRead buffered files should *not* be used when you want to read and
  315.     write large blocks.
  316.  
  317.     BBSRead buffered files should *not* be written to by processes not 
  318.     using BufBRWrite().
  319.  
  320.    INPUTS
  321.     name - Name of file to open.
  322.     accessMode - Mode to open file in.
  323.         
  324.  
  325.    RESULT
  326.     fileid - The fileid for the opened file. Returns a NULL pointer if
  327.         the open failed, and a secondary error code will be available in 
  328.         IoErr().
  329.  
  330.    EXAMPLE
  331.  
  332.    NOTES
  333.     The fileid returned is *not* compatible with the file handler 
  334.     returned by dos.library/Open().
  335.  
  336.    BUGS
  337.  
  338.    SEE ALSO
  339.  
  340. bbsread.library/BufBRRead                           bbsread.library/BufBRRead
  341.  
  342.    NAME    
  343.     BufBRRead -- Read from a BBSRead buffered file.
  344.  
  345.    SYNOPSIS
  346.     actialLength = BufBRRead( fileid, buffer, length )
  347.     D0                          A0      A1      D0
  348.  
  349.     LONG BufBRRead( APTR, APTR, LONG );
  350.  
  351.    FUNCTION
  352.     Read from a file buffered with the bbsread buffer system. 
  353.  
  354.    INPUTS
  355.     fileid - APTR to BBSRead file handler.
  356.     buffer - Pointer to buffer.
  357.     length - Length to read.
  358.  
  359.    RESULT
  360.     actualLength - Actual length read. A value of 0 means EOF, and errors
  361.     are indicated with -1. See IoErr() for error specification.
  362.  
  363.    EXAMPLE
  364.  
  365.    NOTES
  366.  
  367.    BUGS
  368.  
  369.    SEE ALSO
  370.  
  371. bbsread.library/BufBRSeek                           bbsread.library/BufBRSeek
  372.  
  373.    NAME    
  374.     BufBRSeek -- Set the current position for a BBSRead buffered file.
  375.  
  376.    SYNOPSIS
  377.     oldPosition = BufBRSeek( fileid, position, mode )
  378.     D0                        A0      D0      D1
  379.  
  380.     LONG BufBRSeek(APTR, LONG, LONG);
  381.  
  382.    FUNCTION
  383.     Sets the read/write cursor for a BBSRead buffered file. Works like 
  384.     dos.library/Seek().
  385.  
  386.    INPUTS
  387.     fileid - APTR to BBSRead file handler.
  388.     position - Position to seek to.
  389.     mode - Seek mode. (Same as dos.library/Seek().)
  390.  
  391.    RESULT
  392.     oldPosition - Old position in file. Returns -1 on error.
  393.  
  394.    EXAMPLE
  395.  
  396.    NOTES
  397.  
  398.    BUGS
  399.  
  400.    SEE ALSO
  401.     dos.library/Seek()
  402.  
  403. bbsread.library/BufBRWrite                         bbsread.library/BufBRWrite
  404.  
  405.    NAME    
  406.     BufBRWrite -- Write to a BBSRead buffered file.
  407.  
  408.    SYNOPSIS
  409.     actialLength = BufBRWrite( fileid, buffer, length )
  410.     D0                          A0      A1      D0
  411.  
  412.     LONG BufBRWrite( APTR, APTR, LONG );
  413.  
  414.    FUNCTION
  415.     Write to a file buffered with the bbsread buffer system. 
  416.  
  417.    INPUTS
  418.     fileid - APTR to BBSRead file handler.
  419.     buffer - Pointer to buffer.
  420.     length - Length to write.
  421.  
  422.    RESULT
  423.     actualLength - Actual length written. Errors are indicated with -1. 
  424.         See IoErr() for error specification.
  425.  
  426.    EXAMPLE
  427.  
  428.    NOTES
  429.  
  430.    BUGS
  431.  
  432.    SEE ALSO
  433.  
  434. bbsread.library/CharsetConvert                 bbsread.library/CharsetConvert
  435.  
  436.    NAME    
  437.     CharsetConvert -- Converts strings from and to the ISO charset.
  438.  
  439.    SYNOPSIS
  440.     success = CharsetConvert( fromchar, tochar, frombuf, tobuf, len )
  441.     D0                          D1        D2       A0      A1   D3
  442.  
  443.     BOOL CharsetConvert( UBYTE, UBYTE, STRPTR, STRPTR, ULONG );
  444.  
  445.    FUNCTION
  446.     Converts strings of charset fromchar in frombuf to strings of charset
  447.     tochar in tobuf. Available charsets are BRCS_ISO, BRCS_IBN, BRCS_SF7,
  448.     BRCS_NO7, BRCS_DE7.
  449.  
  450.    INPUTS
  451.     fromchar - The charset used in frombuf.
  452.     tochars - The charset to convert to.
  453.     frombuf - The buffer with the string(s) to convert.
  454.     tobuf   - The buffer to put the result of the convertion. The size of
  455.         the buffer must be equal to the size of the frombuf. If this 
  456.         pointer is NULL, the result will be put in frombuf.
  457.     len - Number of bytes to convert. If this parameter is 0L, the 
  458.         0-terminated string in frombuf will be converted.
  459.  
  460.    RESULT
  461.     success - Boolean.
  462.  
  463.    EXAMPLE
  464.  
  465.    NOTES
  466.  
  467.    BUGS
  468.  
  469.    SEE ALSO
  470.  
  471. bbsread.library/ConfCharset                       bbsread.library/ConfCharset
  472.  
  473.    NAME    
  474.     ConfCharset -- Returns which charset the bbs has in this conf.
  475.  
  476.    SYNOPSIS
  477.     charset = ConfCharset( bbs, conf )
  478.     D0                      A0   A1
  479.  
  480.     UBYTE ConfCharset( struct BBSListItem *, struct ConfListItem *);
  481.  
  482.    FUNCTION
  483.     Use this function to obtain which charset the mesages in a conf from
  484.     the BBS is expected to be in. 
  485.  
  486.     The character set expected for a BBS can be obtained by using a NULL
  487.     pointer as the conf parameter.
  488.  
  489.    INPUTS
  490.     bbs - BBS to obtain  charset for.
  491.     conf - Conf to obtain charset for.
  492.  
  493.    RESULT
  494.     charset - Charset expected for this conf.
  495.  
  496.    EXAMPLE
  497.  
  498.    NOTES
  499.  
  500.    BUGS
  501.  
  502.    SEE ALSO
  503.  
  504. bbsread.library/ConfigBBS                           bbsread.library/ConfigBBS
  505.  
  506.    NAME    
  507.     ConfigBBS -- Set up the configuratin for a BBS.
  508.  
  509.    SYNOPSIS
  510.     newbbs = ConfigBBS( bbs, tagitems )
  511.     D0                  A0      A1
  512.  
  513.     struct BBSListItem * ConfigBBS( struct BBSListItem *, 
  514.         struct TagItem * );
  515.  
  516.     newbbs = ConfigBBSTags( bbs, Tag1, ... )
  517.  
  518.     struct BBSListItem * ConfigBBSTags( struct BBSListItem *, ULONG, 
  519.         ... );
  520.  
  521.    FUNCTION
  522.     Changes the setup for a BBS, or adds a new BBS to the database. 
  523.  
  524.    INPUTS
  525.     bbs - Pointer to the BBSListItem for the bbs to change configuration 
  526.         for. If this pointer is a NULL pointer, a new bbs will be 
  527.         created. The contents of bbs->bl_Data will be updated and string 
  528.         pointers may change.
  529.     tagitems - Pointer to TagItem array.
  530.  
  531.     Here are the TagItem.ti_Tag values that are defined for
  532.     ConfigBBS().
  533.  
  534.     BC_DeleteBBS - Markes the BBS pointed by the bbs parameter as deleted
  535.         if (BOOL) ti_Data is TRUE. Your BBSListItem passed as the bbs 
  536.         parameter will be removed from your bbslist. The pointer returned
  537.         is the old bbs pointer, but it will not point to a BBSListItem any
  538.         more.
  539.  
  540.     BC_BBSList - Your BBSList-header is pointed by (struct List *)
  541.         ti_Data. This is the pointer returned from GetBBSList(). When
  542.         adding a new BBS to the database this tag *must* be supplied. 
  543.         It *must* also be supplied when using the BC_Top, BC_Bottom,
  544.         BC_Up, BC_Down, BC_SortBBSList and BC_NewBBSOrder tags. 
  545.  
  546.     BC_BBSName - The new name of the BBS is pointed by (STRPTR) ti_Data.
  547.     BC_GrabName - The new name of the grabfile (without extension) is 
  548.         pointed by (STRPTR) ti_Data. Wildcards are supported. If 
  549.         wildcards are used, the name must match the full file name.
  550.  
  551.     BC_BBSType - The new type of the BBS is pointed by (STRPTR) ti_Data.
  552.         If no BBSType with this name is defined, the function will
  553.         fail. 
  554.  
  555.     BC_UserName - The new name the user is registered with is pointed by 
  556.         (STRPTR) ti_Data.
  557.  
  558.     BC_ScriptFlags - Flags for the script is in (LONGBITS) ti_Data. Check
  559.         the BBS type for available flags. Non-available flags passed will
  560.         be ignored.
  561.  
  562.     BC_Signature - Signature to use on this BBS is pointed by (STRPTR) 
  563.         ti_Data. This signature should be used in conferences with
  564.         no signature defined. A NULL-pointer equals no BBS signature, 
  565.         and the global signature should be used on this BBS. If the 
  566.         signature is in a file, this tag should contain the complete 
  567.         path to the signature file, and the BDF_FILE_SIGNATURE flag 
  568.         must be set.
  569.  
  570.     BC_Top - Move the BBS to the top of the list if (BOOL) ti_Data is 
  571.         TRUE. Both your local and the global list will be updated. Be 
  572.         sure to also pass the BC_BBSList tag.
  573.  
  574.     BC_Bottom - Move the BBS to the bottom of the list if (BOOL) ti_Data
  575.         is TRUE. Both your local and the global list will be updated. Be
  576.         sure to also pass the BC_BBSList tag.
  577.  
  578.     BC_Up - Move the BBS one position upwards on the list if (BOOL) 
  579.         ti_Data is TRUE. Both your local and the global list will be
  580.         updated. Be sure to also pass the BC_BBSList tag.
  581.  
  582.     BC_Down - Move the BBS one position downwards on the list if (BOOL)
  583.         ti_Data is TRUE. Both your local and the global list will be
  584.         updated. Be sure to also pass the BC_BBSList tag.
  585.  
  586.     BC_SortBBSList - Sort the BBS-list alphabetically if (BOOL) ti_Data is
  587.         TRUE. Both your local and the global list will be sorted. Be 
  588.         sure to also pass the BC_BBSList tag.
  589.  
  590.     BC_KeepMessages - Messages to keep in each conference when it's 
  591.         packed is in (ULONG) ti_Data. 
  592.         BBSData->bd_Flags affecting the use of this value:
  593.         - BDF_IGNORE_KEEPMSG: Messages won't be counted when packing 
  594.             conferences. 
  595.         - BDF_GLOBAL_KEEPMSG: The Global KeepMsg value will be used on 
  596.             this BBS. The BC_KeepMessages value will be stored, but it 
  597.             will be ignored.
  598.  
  599.     BC_KeepTime - How old messages to keep in each conference when it's
  600.         packed is in (ULONG) ti_Data. The time is in seconds. 
  601.         BBSData->bd_Flags affecting the use of this value:
  602.         - BDF_IGNORE_KEEPTIME: Time won't be checked when packing 
  603.             conferences.
  604.         - BDF_GLOBAL_KEEPTIME: The Global KeepTime value will be used on
  605.             this BBS. The BC_KeepTime value will be stored, but it
  606.             will be ignored.
  607.  
  608.     BC_SetBBSFlags   - BBS flags to set is in (LONGBITS) ti_Data. See 
  609.         <libraries/bbsread.h> for documentation on each flag.
  610.     BC_ClearBBSFlags - BBS flags to clear is in (LONGBITS) ti_Data.
  611.  
  612.     BC_EMailAddr - The address the user is registered with is pointed by
  613.         (STRTPR) ti_Data. This is used to check if a message is to the 
  614.         user. This address will be ignored if the BBSType for this has
  615.         the TDF_NO_ADDR_CHECK flag set.
  616.  
  617.     BC_XpkMethod - BBS Xpk method to use is pointed by (STRPTR) ti_Data.
  618.         If BC_XpkMethod is set to NULL, the global Xpk method will be
  619.         used for this bbs. BBSData->bd_Flags affecting the use of this 
  620.         value:
  621.         - BDF_NO_XPK_METHOD: Don't use Xpk on this bbs.
  622.     
  623.     BC_CharSet - The expected charset for the grabs from this bbs is in 
  624.         (UBYTE) ti_Data. Setting BC_CharSet to BRCS_ANY will use the 
  625.         default charset for the BBSType to this bbs. Default charset when
  626.         adding a new bbs is BRCS_ANY.
  627.  
  628.     BC_LineLength - Max linelength of messages for this bbs is (UWORD) 
  629.         ti_Data. Overrides the setting in the BBSType for this bbs if
  630.         BC_LineLength is non 0.
  631.  
  632.     BC_UserStreet - User street address is pointed by (STRPTR) ti_Data.
  633.         Overrides settings in global configuration if non-NULL.
  634.  
  635.     BC_UserAddress - User address is is pointed by (STRPTR) ti_Data.
  636.         Overrides settings in global configuration if non-NULL.
  637.  
  638.     BC_UserCountry - User country is is pointed by (STRPTR) ti_Data.
  639.         Overrides settings in global configuration if non-NULL.
  640.  
  641.     BC_UserPhone - User phone number is pointed by (STRPTR) ti_Data.
  642.         Overrides settings in global configuration if non-NULL.
  643.  
  644.     BC_Alias - Alias used on this BBS is pointed by (STRPTR) ti_Data.
  645.         If the alias is set and a conference on this bbs is defined as
  646.         CDF_ALIAS, the alias will be used to determine if messages are 
  647.         to/from the user in the particular conference. 
  648.  
  649.     BC_DnloadPath - Download path for this BBS is pointed by (STRPTR) 
  650.         ti_Data. Overrides settings in global configuration if non-NULL.
  651.  
  652.     BC_TagFile - Path and name of tagfile to use for this bbs is pointed 
  653.         by (STRPTR) ti_Data. Overrides settings in global configuration 
  654.         if non-NULL.
  655.  
  656.     BC_EventArchiver - Archiver to use when packing the events from this 
  657.         bbs is pointed by (STRPTR) ti_Data. Overrides settings in BBSType 
  658.         if non-NULL.
  659.  
  660.     BC_ReplyPacket - Filename of replypacket is pointed by (STRPTR) 
  661.         ti_Data. The filename is expected to be relative to the defined 
  662.         upload directory for this bbs.
  663.  
  664.     BC_UploadPath - Upload path for this BBS is pointed by (STRPTR) 
  665.         ti_Data. Overrides settings in global configuration if non-NULL.
  666.  
  667.     BC_NewBBSOrder - Rearrange the order of the bbses according to the 
  668.         list given in the BC_BBSList tag if (BOOL) ti_Data is TRUE.
  669.  
  670.     BC_QuoteType - Prefered quote type for this bbs is in (UBYTE) 
  671.         ti_Data. Overrides settings in bbstype if not QT_USE_SUPER.
  672.         See <libraries/BBSRead.h> for definitions of quote types.
  673.  
  674.     BC_QuoteChars - String to use as quote chars in custom quote type is
  675.         in (STRPTR) ti_Data. Max length of the string is 3. Overrides 
  676.         globaly defined quote chars if NULL or 0 length.
  677.  
  678.     BC_ReplyString - Reply string to use when a message is replied _and_ 
  679.         moved is in (STRPTR) ti_Data. Overrides globaly defined reply 
  680.         string if non NULL.
  681.  
  682.     BC_BBSEnterScript - Name of Arexx script to be run each time this bbs
  683.         is entered is pointed by (STRPTR) ti_Data. Overrides globaly 
  684.         defined enter script if non NULL.
  685.  
  686.     BC_BBSLeaveScript - Name of Arexx script to be run each time this bbs
  687.         is left is pointed by (STRPTR) ti_Data. Overrides globaly 
  688.         defined leave script if non NULL.
  689.  
  690.     BC_ConfEnterScript - Name of Arexx script to be run each time a 
  691.         conference on this bbs is entered is pointed by (STRPTR) ti_Data.
  692.         Overrides globaly defined enter script if non NULL.
  693.  
  694.     BC_ConfLeaveScript - Name of Arexx script to be run each time a 
  695.         conference on this bbs is left is pointed by (STRPTR) ti_Data.
  696.         Overrides globaly defined leave script if non NULL.
  697.  
  698.    RESULT
  699.     newbbs - When changing an existing bbs, this is the same as the bbs 
  700.         parameter. When adding a new bbs, this points to a BBSListItem
  701.         for the new BBS. On failure, a NULL pointer is returned.
  702.  
  703.    EXAMPLE
  704.  
  705.    NOTES
  706.     When adding a BBS, the BBSListItem for this BBS will automatically be
  707.     inserted in the list supplied with the BC_BBSList tag. Therefore, be
  708.     sure the list is not attached to a ListView or simular when calling
  709.     this function. The same applies when deleting BBS'es and when 
  710.     rearranging the bbslist.
  711.  
  712.     You *must* supply BC_BBSName and BC_BBSType when adding a new BBS to
  713.     the database.
  714.  
  715.     As of V4 is BC_GrabName no longer needed when adding a BBS.
  716.  
  717.     When adding new BBS'es will BC_Top, BC_Bottom, BC_Up, BC_Down,  
  718.     BC_SortBBSList and BC_NewBBSOrder be ignored.
  719.  
  720.     These flags are automatically set when adding a new bbs: 
  721.     BDF_GLOBAL_KEEPMSG | BDF_GLOBAL_KEEPTIME | BDF_IGNORE_KEEPMSG 
  722.     | BDF_IGNORE_KEEPTIME.
  723.  
  724.    BUGS
  725.  
  726.    SEE ALSO
  727.     GetBBSList()
  728.  
  729. bbsread.library/ConfigConf                         bbsread.library/ConfigConf
  730.  
  731.    NAME    
  732.     ConfigConf -- Set up the configuration for a conference.
  733.  
  734.    SYNOPSIS
  735.     newconf = ConfigConf( conf, tagitems )
  736.   D0                     A0      A1
  737.  
  738.     struct ConfListItem * ConfigConf( struct ConfListItem *, 
  739.         struct TagItem * );
  740.  
  741.     newconf = ConfigConfTags( conf, Tag1, ... )
  742.  
  743.     struct ConfListItem * ConfigConfTags( struct ConfListItem *, ULONG, 
  744.         ... );
  745.  
  746.    FUNCTION
  747.     Changes the setup for a conference, or adds a new conference to a 
  748.     bbs. Only conferences where messages are expected should be added. 
  749.     Use WritePassiveConfList() for complete conference lists.
  750.  
  751.    INPUTS
  752.     conf - Pointer to the ConfListItem for the conference to change 
  753.         configuration for. If this pointer is a NULL pointer, a new 
  754.         conference will be added to the bbs. The contents of 
  755.         conf->cl_Data will be updated and string pointers may change.
  756.     tagitems - Pointer to TagItem array.
  757.  
  758.     Here are the TagItem.ti_Tag values that are defined for
  759.     ConfigConf().
  760.  
  761.     CC_DeleteConf - Markes the Conf pointed by the conf parameter as
  762.         deleted if (BOOL) ti_Data is TRUE. Your ConfListItem passed as 
  763.         the conf parameter will be removed from your conflist. The 
  764.         pointer returned is the old conf pointer, but it will not point
  765.         to a ConfListItem any more.
  766.  
  767.     CC_ConfList - Your ConfList-header is pointed by (struct List *)
  768.         ti_Data. This is the pointer returned from GetConfList(). When
  769.         adding a new conference to a bbs, this tag *must* be supplied.
  770.         It *must* also be supplied when using the CC_Top, CC_Bottom,
  771.         CC_Up, CC_Down, CC_SortConfList and CC_NewConfOrder tags.
  772.  
  773.     CC_AddToBBS - The BBSListItem to add a conference to is pointed
  774.         by (struct BBSListItem *) ti_Data. *Must* be used when adding
  775.         a conference, and is ignored when changing the setup on a 
  776.         existing conference.
  777.  
  778.     CC_ConfName - The new name of the conference is pointed by 
  779.         (STRPTR) ti_Data. This tag must be supplied when adding a 
  780.         conference.
  781.  
  782.     CC_SetConfFlags   - Conference flags to set is in (LONGBITS) ti_Data.
  783.     CC_ClearConfFlags - Conference flags to clear is in 
  784.         (LONGBITS) ti_Data.
  785.  
  786.     CC_Signature - Signature to use in this conference is pointed by 
  787.         (STRPTR) ti_Data. A NULL-pointer equals no conference signature. 
  788.         The BBS signature should be used instead. If the signature is in 
  789.         a file, this tag should contain the complete path to the 
  790.         signature file, and the CDF_FILE_SIGNATURE flag must be set.
  791.  
  792.     CC_KeepMessages - Messages to keep in this conference when it's 
  793.         packed is in (ULONG) ti_Data. 
  794.         ConfData->cd_Flags affecting the use of this value:
  795.         - CDF_IGNORE_KEEPMSG: Messages won't be counted when packing 
  796.             this conference. 
  797.         - CDF_BBS_KEEPMSG: The BBS KeepMsg value will be used in when 
  798.             packing this conference. The CC_KeepMessages value will be 
  799.             stored, but it will be ignored.
  800.  
  801.     CC_KeepTime - How old messages to keep in this conference when it's
  802.         packed is in (ULONG) ti_Data. The time is in seconds. 
  803.         ConfData->cd_Flags affecting the use of this value:
  804.         - CDF_IGNORE_KEEPTIME: Time won't be checked when packing 
  805.             this conference.
  806.         - CDF_BBS_KEEPTIME: The BBS KeepTime value will be used when
  807.             packing this conference. The CC_KeepTime value will be stored,
  808.             but it will be ignored.
  809.  
  810.     CC_Top - Move the conference to the top of the list if (BOOL) ti_Data
  811.         is TRUE. Both your local and the global list will be updated. Be 
  812.         sure to also pass the CC_ConfList tag.
  813.  
  814.     CC_Bottom - Move the conference to the bottom of the list if (BOOL) 
  815.         ti_Data is TRUE. Both your local and the global list will be 
  816.         updated. Be sure to also pass the CC_ConfList tag.
  817.  
  818.     CC_Up - Move the conference one position upwards on the list if 
  819.         (BOOL) ti_Data is TRUE. Both your local and the global list will
  820.          be updated. Be sure to also pass the CC_ConfList tag. 
  821.  
  822.     CC_Down - Move the conference one position downwards on the list if 
  823.         (BOOL) ti_Data is TRUE. Both your local and the global list will
  824.         be updated. Be sure to also pass the CC_ConfList tag. 
  825.  
  826.     CC_Alias - Alias to use in this conference is pointed by (STRPTR) 
  827.         ti_Data. If the alias is set and the conference is defined as 
  828.         CDF_ALIAS, it will be used to determine if messages are to/from 
  829.         the user in this particular conference. Overrides settings in 
  830.         BBSData if non-NULL.
  831.  
  832.     CC_BBSConfNr - The internal number this conference has on the BBS is
  833.         in (LONG) ti_Data. This value is meant to ease the parsing and 
  834.         packing when numbers must be used for the conferences.
  835.  
  836.     CC_SortConfList - Sort the Conf-list alphabetically if (BOOL) ti_Data
  837.         is TRUE. Both your local and the global list will be sorted. Be 
  838.         sure to also pass the CC_ConfList tag. You must also pass a 
  839.         valid conf parameter to use this tag.
  840.  
  841.     CC_XpkMethod - Conf Xpk method to use is pointed by (STRPTR) ti_Data.
  842.         If CC_XpkMethod is set to NULL will the bbs Xpk method be used 
  843.         for this conf. ConfData->cd_Flags affecting the use of this value:
  844.         - CDF_NO_XPK_METHOD: Don't use Xpk on this conf.
  845.     
  846.     CC_CharSet - The expected charset for the grabs from this conf is in
  847.         (UBYTE) ti_Data. Setting CC_CharSet to BRCS_ANY will use the 
  848.         default charset for this bbs. Default charset when adding a 
  849.         newconf is BRCS_ANY.
  850.  
  851.     CC_LineLength - Max linelength of messages for this conf is (UWORD)
  852.         ti_Data. Overrides the setting for this bbs if CC_LineLength is
  853.         non 0.
  854.  
  855.     CC_TagFile - Path and name of tagfile to use for this conf is pointed
  856.         by (STRPTR) ti_Data. Overrides settings on bbs if non-NULL.
  857.  
  858.     CC_EmailAddr - The email address the user has in this conference is
  859.         pointed by (STRTPR) ti_Data. This is used to check if a message 
  860.         is to the user. Overrides setting in BBSData. This address will 
  861.         be ignored if the BBSType for this has the TDF_NO_ADDR_CHECK flag
  862.         set. This tag is for use on bbses where the user is member of 
  863.         more than one net.
  864.  
  865.     CC_NewConfOrder - Rearrange the order of the conferences according to
  866.         the list given in the CC_ConfList tag if (BOOL) ti_Data is TRUE.
  867.  
  868.     CC_QuoteType - Prefered quote type for this conference is in (UBYTE)
  869.         ti_Data. Overrides settings on the bbs if not QT_USE_SUPER.
  870.         See <libraries/BBSRead.h> for definitions of quote types.
  871.  
  872.     CC_QuoteChars - String to use as quote chars in custom quote type is
  873.         in (STRPTR) ti_Data. Max length of the string is 3. Overrides 
  874.         quote chars for bbs if NULL or 0 length.
  875.  
  876.     CC_ReplyString - Reply string to use when a message is replied _and_ 
  877.         moved is in (STRPTR) ti_Data. Overrides reply string defined for 
  878.         the bbs if non NULL.
  879.  
  880.     CC_ConfEnterScript - Name of Arexx script to be run each time this
  881.         conference is entered is pointed by (STRPTR) ti_Data. Overrides 
  882.        enter script defined for the bbs if non NULL.
  883.  
  884.     CC_ConfLeaveScript - Name of Arexx script to be run each time this
  885.         conference is left is pointed by (STRPTR) ti_Data. Overrides 
  886.         leave script defined for the bbs if non NULL.
  887.  
  888.     CC_ConfNetType - Which type of network this conference is connected to
  889.         is in (UBYTE) ti_Data. This tag is to be used on BBS'es of BBS
  890.         types which supports several network types. The default value is
  891.         CDNT_NONET. See <libraries/BBSRead.h> for definitions. New
  892.         definitions are added on request. No need to use this tag if the
  893.         bbs type only supports one network.
  894.  
  895.    RESULT
  896.     newconf - When changing an existing conference, this is the same as
  897.         conf parameter. When adding a new conference this points to a 
  898.         ConfListItem for this conference. On failure a NULL pointer 
  899.         is returned.
  900.  
  901.    EXAMPLE
  902.  
  903.    NOTES
  904.     When adding a conference, the ConfListItem for this conference will
  905.     automaticaly be inserted in the list supplied with the CC_ConfList 
  906.     tag. Therefore be sure the list is not attached to a ListView or 
  907.     simular when calling this function. The same applies when deleting
  908.     conferences and when rearranging the conference list.
  909.  
  910.     When adding new conferences will CC_Top, CC_Bottom, CC_Up, CC_Down,
  911.     CC_SortConfList and CC_NewConfOrder be ignored.
  912.  
  913.     These flags are automatically set when adding a new conference: 
  914.     CDF_BBS_KEEPMSG | CDF_BBS_KEEPTIME | CDF_IGNORE_KEEPMSG 
  915.     | CDF_IGNORE_KEEPTIME.
  916.  
  917.    BUGS
  918.  
  919.    SEE ALSO
  920.     GetConfList()
  921.  
  922. bbsread.library/ConfigFArea                       bbsread.library/ConfigFArea
  923.  
  924.    NAME    
  925.     ConfigFArea -- Set up the configuration for a file area.
  926.  
  927.    SYNOPSIS
  928.     newfarea = ConfigFArea( farea, tagitems )
  929.     D0                        A0       A1
  930.     
  931.     struct FAreaListItem * ConfigFArea( struct FAreaListItem *, 
  932.         struct TagItem *);
  933.  
  934.     newfarea = ConfigFAreaTags(farea, Tag1, ... )
  935.  
  936.     struct FAreaListItem * ConfigFAreaTags( struct FAreaListItem *, 
  937.         ULONG, ... );
  938.     
  939.    FUNCTION
  940.     Changes the setup for a file area, or adds a new file area to the 
  941.     database.
  942.  
  943.    INPUTS
  944.     farea - Pointer to FAreaListItem for the file area to change 
  945.         configuration for. If this pointer is a NULL pointer, a new file
  946.         area will be created.
  947.     tagitems - Pointer to TagItem array.
  948.  
  949.     Here are the TagItem.ti_Tag values that are defined for
  950.     ConfigFArea().
  951.  
  952.     CFA_DeleteFArea - Markes the file area pointed by the farea parameter
  953.         as deleted if (BOOL) ti_Data is TRUE. Your FAreaListItem passed 
  954.         as the farea parameter will be removed from your farealist. The 
  955.         pointer returned is the old fareapointer, but it will not point 
  956.         to a FAreaListItem any more.
  957.  
  958.     CFA_FAreaList - Your FAreaList-header is pointed by (struct List *)
  959.         ti_Data. This is the pointer returned from GetFAreaList(). When
  960.         adding a new file area to the database, this tag *must* be supplied
  961.         It *must* also be supplied when using the CFA_Top, FCA_Bottom,
  962.         CFA_Up, CFA_Down and CFA_SortFAreaList tags.
  963.  
  964.     CFA_AddToBBS - The BBSListItem to add a file area to is pointed
  965.         by (struct BBSListItem *) ti_Data. *Must* be used when adding
  966.         a file area, and is ignored when changing the setup on a 
  967.         existing file area.
  968.  
  969.     CFA_Name - The new name of the file area is pointed by (STRPTR) 
  970.         ti_Data.
  971.  
  972.     CFA_Top - Move the file area to the top of the list if (BOOL) ti_Data
  973.         is TRUE. Both your local and the global list will be updated. Be
  974.         sure to also pass the CFA_FAreaList tag.
  975.  
  976.     CFA_Bottom - Move the file area to the bottom of the list if (BOOL)
  977.         ti_Data is TRUE. Both your local and the global list will be
  978.         updated. Be sure to also pass the CFA_FAreaList tag.
  979.  
  980.     CFA_Up - Move the file area one position upwards on the list if (BOOL)
  981.         ti_Data is TRUE. Both your local and the global list will be 
  982.         updated. Be sure to also pass the CFA_FAreaList tag.
  983.  
  984.     CFA_Down - Move the file area one position downwards on the list if 
  985.         (BOOL) ti_Data is TRUE. Both your local and the global list will 
  986.         be updated. Be sure to also pass the CFA_FAreaList tag.
  987.  
  988.     CFA_SortFAreaList - Sort the file area list alphabeticaly if (BOOL) 
  989.         ti_Data is TRUE. Both your local and the global list will be 
  990.         sorted. Be sure to also pass the CFA_FAreaList tag.
  991.  
  992.    RESULT
  993.     newfarea - When changing an existing file area, this is the same as 
  994.         the farea parameter. When adding a new file area, this points to 
  995.         a FAreaListItem for this new file area. On failure, a NULL pointer
  996.         is returned.
  997.  
  998.    EXAMPLE
  999.  
  1000.    NOTES
  1001.     When adding a file area, the FAreaListItem for this file area will 
  1002.     automaticaly be inserted in the list supplied with the CFA_FAreaList
  1003.     tag. Therefore, be sure the list is not attached to a ListView or 
  1004.     simular when calling this function. The same applies when deleting
  1005.     file areas and when rearranging the bbslist.
  1006.  
  1007.     You *must* supply CFA_Name when adding a new file area.
  1008.  
  1009.     When adding new areas will CFA_Top, FCA_Bottom, CFA_Up, CFA_Down and 
  1010.     CFA_SortFAreaList be ignored.
  1011.  
  1012.    BUGS
  1013.  
  1014.    SEE ALSO
  1015.  
  1016. bbsread.library/ConfigGlobal                     bbsread.library/ConfigGlobal
  1017.  
  1018.    NAME    
  1019.     ConfigGlobal -- Global configuration for the library.
  1020.  
  1021.    SYNOPSIS
  1022.     success = ConfigGlobal( globals, tagitems )
  1023.     D0                        A0        A1
  1024.     
  1025.     BOOL ConfigGlobal( struct GlobalConfig *, struct TagItem * );
  1026.  
  1027.     success = ConfigGlobalTags( globals, Tag1, ...)
  1028.     
  1029.     BOOL ConfigGlobalTags( struct GlobalConfig *, ULONG, ... );
  1030.  
  1031.    FUNCTION
  1032.     This function sets up the global configuration for the library. Your 
  1033.     copy of the clobal configuration will also be updated. Supports 
  1034.     BRCFG_Use and BRCFG_LastSaved tags.
  1035.  
  1036.    INPUTS
  1037.     globals - Pointer to global data got from GetGlobalConfig(). The 
  1038.         contents of globals will be updated and string pointers may 
  1039.         change.
  1040.     tagitems - Pointer to TagItem array.
  1041.  
  1042.     Here are the TagItem.ti_Tag values that are defined for
  1043.     ConfigGlobal().
  1044.  
  1045.     CG_DnloadPath - Path to where downloaded files reside is pointed 
  1046.         by (STRPTR) ti_Data.
  1047.  
  1048.     CG_UploadPath - Path to where files to be uploaded reside is pointed
  1049.         by (STRPTR) ti_Data.
  1050.     
  1051.     CG_Buffers - Number of buffers to use in buffer system in 
  1052.         (ULONG) ti_Data. 13 buffers is the default in the current version.
  1053.  
  1054.     CG_BufferSize - Size of each buffer the buffer system should use in
  1055.         (ULONG) ti_Data. 5096 bytes is the default in the currect version.
  1056.  
  1057.     CG_ConfigArchiver - Configure archiver. Name of archiver is in 
  1058.         (STRPTR) ti_Data.
  1059.  
  1060.     CG_ArcPattern - MatchPattern to recognize archives of 
  1061.         CG_ConfigArchiver type is in (STRPTR) ti_Data. If the ArcPattern
  1062.         begins with '$', the rest of the string will be matched with the
  1063.         contents of the archive instead of the filename. 
  1064.         i.e. $????2d6c68 finds LhA-archives.
  1065.     
  1066.     CG_UnArcCmd - Command to depack an archive of CG_ConfigArchiver type
  1067.         is in (STRPTR) ti_Data. If the unpack program isn't in c:, the 
  1068.         full path must be given. The file to be unpacked will be appended
  1069.         to the command given here..
  1070.  
  1071.     CG_ArcCmd - Command to pack an archive of CG_ConfigArchiver type is in 
  1072.         (STRPTR) ti_Data. The command is expected to use the standard 
  1073.         archiver organization of the arguments. If the archive program 
  1074.         isn't in c:, the full path must be given.
  1075.  
  1076.     CG_DeleteArchiver - Delete archiver which name is in (STRPTR) ti_Data.
  1077.         The deletion will fail if one bbstype uses this archiver as an 
  1078.         eventarchiver.
  1079.  
  1080.     CG_Signature - Global signature is in (STRPTR) ti_Data. This signature
  1081.         should be used on BBS'es where no signatures is defined. Can be a 
  1082.         NULL-pointer. If the signature is in a file, this tag should
  1083.         contain the complete path to the signature file, and the 
  1084.         GCF_FILE_SIGNATURE flag must be set.
  1085.  
  1086.     CG_KeepMessages - Messages to keep in each conference when they are
  1087.         packed is in (ULONG) ti_Data. 
  1088.         GlobalConfig->gc_Flags affecting the use of this value:
  1089.         - GCF_IGNORE_KEEPMSG: Messages won't be counted when packing 
  1090.             conferences. 
  1091.  
  1092.     CG_KeepTime - How old messages to keep in each conference when they 
  1093.         are packed is in (ULONG) ti_Data. The time is in seconds. 
  1094.         GlobalConfig->gc_Flags affecting the use of this value:
  1095.         - GCF_IGNORE_KEEPTIME: Time won't be checked when packing 
  1096.             conferences.
  1097.  
  1098.     CG_SetGlobalFlags   - Global flags to set is in (LONGBITS) ti_Data.
  1099.     CG_ClearGlobalFlags - Global flags to clear is in (LONGBITS) ti_Data.
  1100.  
  1101.     CG_XpkMethod - Global Xpk method to use is pointed by (STRPTR) 
  1102.         ti_Data. GlobalConfig->gc_Flags affecting the use of this value:
  1103.         - GCF_NO_XPK_METHOD: Don't use Xpk globaly.
  1104.  
  1105.     CG_UserPhone - Phone number for user is pointed by (STRPTR) ti_Data.
  1106.     CG_TmpDir - Name of temporary directory to use when packing data is 
  1107.         pointed by (STRPTR) ti_Data.
  1108.  
  1109.     CG_TagFile - Path and name of tagfile to use globaly is pointed by 
  1110.         (STRPTR) ti_Data.
  1111.  
  1112.     CG_BufCopyBack - Sets file buffer system to copyback mode if (BOOL) 
  1113.         ti_Data is TRUE. In copyback mode, changed buffers will only 
  1114.         be written back to to file when they are flushed from memory. 
  1115.         Each call to ConfigGlobal() with the CG_BufCopyBack tag *must* 
  1116.         be coupled with a call to ConfigGlobal() with the 
  1117.         CG_BufEndCopyBack tag. The copyback mode should be used while 
  1118.         adding large amount of data to the library. (Eg. parsing a 
  1119.         grabfile and adding the messages to the database) The use of the
  1120.         CG_BufCopyBack/G_BufEndCopyBack tags can be nested.
  1121.  
  1122.     CG_BufEndCopyBack - Turns off copyback mode for file buffer system if
  1123.         (BOOL) ti_Data is TRUE.
  1124.  
  1125.     CG_HitRate - Buffer hitrate is returned in *((ULONG *) ti_Data). The
  1126.         hitrate is in percent.
  1127.     
  1128.     CG_ReadHitRate - Buffer read hitrate is returned in *((ULONG *) 
  1129.         ti_Data). The hitrate is om percent.
  1130.  
  1131.     CG_WriteHitRate - Buffer write hitrate is returned in *((ULONG *)
  1132.         ti_Data). The hitrate is in percent.
  1133.  
  1134.     CG_ClearHitRate - Clear internal hitrate statistics if (BOOL)
  1135.         ti_Data is TRUE
  1136.  
  1137.     CG_HazeLevel1 - Keep messages marked with haze level 1 at least 
  1138.         (ULONG) ti_Data seconds.
  1139.  
  1140.     CG_HazeLevel2 - Keep messages marked with haze level 2 at least 
  1141.         (ULONG) ti_Data seconds.
  1142.  
  1143.     CG_HazeLevel2 - Keep messages marked with haze level 3 at least 
  1144.         (ULONG) ti_Data seconds.
  1145.  
  1146.     CG_PGPCommand - Command for pgp (with path) is pointed by (STRPTR)
  1147.         ti_Data.
  1148.  
  1149.     CG_PGPSignID - Id to use when PGP signing messages is pointed by
  1150.         (STRPTR) ti_Data. If NULL should '*' be used as sign id.
  1151.  
  1152.     CG_QuoteChars - String to use as quote chars in custom quote type is
  1153.         in (STRPTR) ti_Data. Max length of the string is 3.
  1154.  
  1155.     CG_ReplyString - Reply string to use when a message is replied _and_ 
  1156.         moved is in (STRPTR) ti_Data.
  1157.  
  1158.     CG_StartupScript - Name of Arexx script to be run each time Thor is 
  1159.         started is pointed by (STRPTR) ti_Data.
  1160.  
  1161.     CG_QuitScript - Name of Arexx script to be run each time Thor is 
  1162.         quitted is pointed by (STRPTR) ti_Data.
  1163.  
  1164.     CG_BBSEnterScript - Name of Arexx script to be run each time a bbs
  1165.         is entered is pointed by (STRPTR) ti_Data.
  1166.  
  1167.     CG_BBSLeaveScript - Name of Arexx script to be run each time a bbs
  1168.         is left is pointed by (STRPTR) ti_Data. 
  1169.  
  1170.     CG_ConfEnterScript - Name of Arexx script to be run each time a 
  1171.         conference is entered is pointed by (STRPTR) ti_Data.
  1172.  
  1173.     CG_ConfLeaveScript - Name of Arexx script to be run each time a 
  1174.         conference is left is pointed by (STRPTR) ti_Data.
  1175.  
  1176.     CG_BufFreeAllocated - Free most memory allocated for buffers if 
  1177.         (BOOL) ti_Data is TRUE. The memory will be reallocated when 
  1178.         needed.
  1179.  
  1180.    RESULT
  1181.     success - Boolean.
  1182.  
  1183.    EXAMPLE
  1184.  
  1185.    NOTES
  1186.     
  1187.  
  1188.    BUGS
  1189.  
  1190.    SEE ALSO
  1191.  
  1192. bbsread.library/ConfigType                         bbsread.library/ConfigType
  1193.  
  1194.    NAME    
  1195.     ConfigType -- Set up the configuratin for a BBS type.
  1196.  
  1197.    SYNOPSIS
  1198.     newtype = ConfigType( type, tagitems )
  1199.     D0                     A0      A1
  1200.  
  1201.     struct TypeListItem * ConfigType( struct TypeListItem *, 
  1202.         struct TagItem * );
  1203.  
  1204.     newtype = ConfigTypeTags( type, Tag1, ... )
  1205.  
  1206.     struct TypeListItem * ConfigTypeTags( struct TypeListItem *, 
  1207.         ULONG, ... );
  1208.  
  1209.    FUNCTION
  1210.     Changes the definitions for a BBS type, or adds a new BBS type to the
  1211.     database. 
  1212.  
  1213.    INPUTS
  1214.     type - Pointer to the TypeListItem for the BBS type to change 
  1215.         configuration for. If this pointer is a NULL pointer, a new type 
  1216.         will be created. The contents of type->tl_Data will be updated 
  1217.         and string pointers may change.
  1218.     tagitems - Pointer to TagItem array.
  1219.  
  1220.     Here are the TagItem.ti_Tag values that are defined for
  1221.     ConfigType().
  1222.  
  1223.     CT_DeleteType - Markes the BBS type pointed by the type parameter as
  1224.         deleted if (BOOL) ti_Data is TRUE. The deletion of the type will
  1225.         fail if it is used by any BBS'es.
  1226.  
  1227.     CT_TypeList - Your TypeList-header is pointed by (struct List *)
  1228.         ti_Data. This is the pointer returned from GetTypeList(). When
  1229.         adding a new BBS type to the database, this tag *must* be 
  1230.         supplied. When changing the setup on existing BBS types this tag
  1231.         is ignored.
  1232.  
  1233.     CT_TypeName - The new name of the BBS type is pointed by (STRPTR) 
  1234.         ti_Data.
  1235.  
  1236.     CT_LineLength - Max length of lines in messages in (UWORD) ti_Data.
  1237.     CT_SubjectLength - Max length of subjects in (UWORD) ti_Data.
  1238.     CT_FileDescrLen -  Max length of short filedescription in (UWORD) 
  1239.         ti_Data.
  1240.  
  1241.     CT_ConfigEvent - Set up an event this bbs type support. The event 
  1242.         identifier is in (ULONG) ti_Data. More than one event can be 
  1243.         set up in each call.
  1244.  
  1245.     CT_EventNeedTags - Set up what tags the event in the last 
  1246.         CT_ConfigEvent needs. The tags needed is in a TAG_END-terminated
  1247.         array pointed by (ULONG *) ti_Data.
  1248.  
  1249.     CT_EventOptTags - Set up what tags that are optional for the event
  1250.         in the last CT_ConfigEvent. The optional tags is in a TAG_END-
  1251.         terminated array pointed bt (ULONG *) ti_Data.
  1252.  
  1253.     CT_DeleteEvent - Delete event with (ULONG) ti_Data identifier from
  1254.         list of supported events.
  1255.  
  1256.     CT_CharSet - The default charset the grab from this BBS type uses is 
  1257.         in (UBYTE) ti_Data. Default charset when adding a new BBS type
  1258.         is BRCS_ISO. See <libraries/BBSRead.h> for available charsets.
  1259.  
  1260.     CT_MsgParser - Command to parse the grabs from a BBS of this type is 
  1261.         in (STRPTR) ti_Data. The command must take the following 
  1262.         parameters: BBSNAME - name of bbs. GRAB - name of grab, including
  1263.         path. ARCHIVE - Switch, the grab is an archive. DELETE - Switch, 
  1264.         delete the grab afterwards if the adding is successful. PUBSCREEN 
  1265.         - Name of public screen to open any progress windows on. These
  1266.         parameters must be there even if it is not used by the parser.
  1267.         See <ParseMsg/ParseMsg.c> for more info.
  1268.  
  1269.     CT_AvailScrFlags - Mask for available scriptflags in (LONGBITS) 
  1270.         ti_Data.
  1271.  
  1272.     CT_FileNameLen - Max length of filenames allowed on this BBS type is
  1273.         in (UWORD) ti_Data. All characters in the filename are counted.
  1274.     
  1275.     CT_EventPacker - Command to pack events in a package to send to the 
  1276.         BBS is in (STRPTR) ti_Data. A NULL-pointer equals no packing of
  1277.         events on this BBS type. The execution of this command should be
  1278.         done on user request by the program which makes the events. The
  1279.         command should take the following parameters: BBSNAME - name of 
  1280.         bbs. No more parameters defined so far. PUBSCREEN - Name of 
  1281.         public screen to open evt. progress windows on. This parameter 
  1282.         must be there even if it is not used by the packer.
  1283.  
  1284.     CT_EventArchiver - Prefered archiver to use on event package is in 
  1285.         (STRPTR) ti_Data. A NULL-pointer equals no archiving of the 
  1286.         eventpackage. The archiver *must* have been configured in 
  1287.         global configuration.
  1288.  
  1289.     CT_SetTypeFlags   - BBSType flags to set is in (LONGBITS) ti_Data.
  1290.     CT_ClearTypeFlags - BBSType flags to clear is in (LONGBITS) ti_Data.
  1291.     CT_AcceptPattern - Pattern to use when accepting grabs for this 
  1292.         bbstype is pointed by (STRPTR) ti_Data. A NULL pointer equals 
  1293.         to a pattern of #?.
  1294.  
  1295.     CT_InitMsgFile - Command to initialize a message files is in (STRPTR)
  1296.         ti_Data. A NULL-pointer equals to no initializing other than just
  1297.         creating the file. This command is used by UniqueMsgFile(). The 
  1298.         command must exept the following parameters:
  1299.           BBSNAME/A  - Name of bbs the message is for.
  1300.           FILENAME/A - Name of file to initialized. (The file is already
  1301.                        created.)
  1302.           EVENT/N/A  - What event type it should be used in.
  1303.           USETAG/N/A - What message tag it should be used for.
  1304.  
  1305.     CT_ExtConfig - Command to do external configuration for a bbs is in
  1306.         (STRPTR) ti_Data. A NULL-pointer equals to no external 
  1307.         configuration. The command must exept the following parameters:
  1308.           BBSNAME/A - Name of bbs to configure.
  1309.           CONFNAME  - Name of current conference.
  1310.           PUBSCREEN - Name of public screen to use for windows.
  1311.  
  1312.     CT_QuoteType - Prefered quote type for this bbs type is in 
  1313.         (UBYTE) ti_Data. See <libraries/BBSRead.h> for definitions of 
  1314.         quote types.
  1315.  
  1316.    RESULT
  1317.     newtype - When changing an existing BBS type, this is the same as the
  1318.         type parameter. When adding a new BBS type this points to a 
  1319.         TypeListItem for this new BBS type. On failure a NULL pointer is
  1320.         returned.
  1321.  
  1322.    EXAMPLE
  1323.  
  1324.    NOTES
  1325.     When adding a BBS type, the TypeListItem for this BBS type will 
  1326.     automatically be inserted in the list supplied with the CT_TypeList 
  1327.     tag. Therefore, be sure the list is not attached to a ListView or 
  1328.     simular when calling this function. The same applies when deleting 
  1329.     BBS types.
  1330.  
  1331.     You must supply the following tags when adding a new BBS type to the 
  1332.     database: CT_TypeList, CT_TypeName, CT_LineLength, CT_SubjectLength,
  1333.     CT_MsgParser.
  1334.  
  1335.     As of V4, CT_MsgParser no longer needed when adding a new BBS type.
  1336.  
  1337.     The commands given in the CT_MsgParser, CT_EventPacker, 
  1338.     CT_InitMsgFile and CT_ExtConfig is expected to be given with path 
  1339.     relative to the Thor home directory. 
  1340.  
  1341.    BUGS
  1342.  
  1343.    SEE ALSO
  1344.     GetTypeList()
  1345.  
  1346. bbsread.library/ConfLineLength                 bbsread.library/ConfLineLength
  1347.  
  1348.    NAME    
  1349.     ConfLineLength -- Returns max line length the bbs has in this conf.
  1350.  
  1351.    SYNOPSIS
  1352.     linelength = ConfLineLength( conf )
  1353.     D0                      A0
  1354.  
  1355.     UWORD ConfLineLength( struct ConfListItem * );
  1356.  
  1357.    FUNCTION
  1358.     Use this function to obtain max linelength the messages on the BBS is
  1359.     expected to have in this conference. 
  1360.  
  1361.    INPUTS
  1362.     conf - Conf to get max linelength for.
  1363.  
  1364.    RESULT
  1365.     linelength - Linelength expected in this conf.
  1366.  
  1367.    EXAMPLE
  1368.  
  1369.    NOTES
  1370.  
  1371.    BUGS
  1372.  
  1373.    SEE ALSO
  1374.  
  1375. bbsread.library/EndOfAdding                       bbsread.library/EndOfAdding
  1376.  
  1377.    NAME    
  1378.     EndOfAdding -- Call after adding a grab. (Used by MsgParser)
  1379.  
  1380.    SYNOPSIS
  1381.     void EndOfAdding( bbs )
  1382.                         A0
  1383.  
  1384.     void EndOfAdding( struct BBSListItem * );
  1385.  
  1386.    FUNCTION
  1387.     Function for MsgParser to call after finishing the parsing of a grab. 
  1388.     UnLocks your access to add a grab to this BBS. Makes sure 2 or more 
  1389.     processes do not add the same grab simultaneously.
  1390.  
  1391.     Will also free the memory used to hold data during message adding.
  1392.  
  1393.     Each call to StartOfAdding() must be coupled with a call to this 
  1394.     function.
  1395.  
  1396.    INPUTS
  1397.     bbs - Pointer to BBSListItem for BBS adding is finished.
  1398.  
  1399.    RESULT
  1400.  
  1401.    EXAMPLE
  1402.  
  1403.    NOTES
  1404.  
  1405.    BUGS
  1406.  
  1407.    SEE ALSO
  1408.     StartOfAdding()
  1409.  
  1410. bbsread.library/ExternalBBSConfig           bbsread.library/ExternalBBSConfig
  1411.  
  1412.    NAME    
  1413.     ExternalBBSConfig -- External configuration for bbs'es.
  1414.  
  1415.    SYNOPSIS
  1416.     error = ExternalBBSConfig( bbs, tagitems )
  1417.     D0                         A0      A1
  1418.  
  1419.     LONG ExternalBBSConfig( struct BBSListItem *, struct TagItem * );
  1420.  
  1421.     error = ExternalBBSConfigTags( bbs, Tag1, ... )
  1422.  
  1423.     LONG ExternalBBSConfigTags(struct BBSListItem *, ULONG, ... );
  1424.  
  1425.    FUNCTION
  1426.     This function calls the command for external configuration defined
  1427.     in the bbstype of this bbs. If no external configuration command is
  1428.     defined, this function will return success.
  1429.  
  1430.    INPUTS
  1431.     bbs - Pointer to BBSListItem for bbs.
  1432.     tagitems - Pointer to TagItem array.
  1433.  
  1434.     Here are the TagItem.ti_Tag values that are defined for
  1435.     ExternalBBSConfig():
  1436.  
  1437.     EBC_Conference - Pointer to active conference is in 
  1438.         (struct ConfListItem *) ti_Data. This tag may be omitted when no 
  1439.         conferences are active.
  1440.     
  1441.     EBC_PublicScreen - Public screen for external configuration to open 
  1442.         windows on is in (STRPTR) ti_Data. When this tag is omitted,
  1443.         the windows will be opened on the default public screen.
  1444.  
  1445.    RESULT
  1446.     error - 0 for success, result from command, or -1.
  1447.  
  1448.    EXAMPLE
  1449.  
  1450.    NOTES
  1451.  
  1452.    BUGS
  1453.  
  1454.    SEE ALSO
  1455.  
  1456. bbsread.library/FindDupBRMsg                     bbsread.library/FindDupBRMsg
  1457.  
  1458.    NAME    
  1459.     FindDupBRMsg -- Find duplicate messages in database.
  1460.  
  1461.    SYNOPSIS
  1462.     error = FindDupBRMsg( bbs, tagitems )
  1463.     D0                    A0      A1
  1464.  
  1465.     BOOL FindDupBRMsg( struct BBSListItem *, struct TagItem * );
  1466.  
  1467.     error = FindDupBRMsgTags( bbs, Tag1, ... )
  1468.  
  1469.     BOOL FindDupBRMsgTags( struct BBSListItem *, ULONG, ... );
  1470.  
  1471.    FUNCTION
  1472.     Searches the database for duplicate messages. 
  1473.  
  1474.     Supports callback progress hooks tags. BRProgress->brp_Actions
  1475.     will contain the number of duplicate messages found.
  1476.  
  1477.    INPUTS
  1478.     bbs - BBSListItem for the bbs to search for duplicate messages.
  1479.     tagitems - Pointer to TagItem array.
  1480.  
  1481.     Here are the TagItem.ti_Tag values that are defined for
  1482.     FindDupBRMsg().
  1483.  
  1484.     FDBRM_DeleteDupInConf - Mark duplicate messages in same conference as
  1485.         deleted if (BOOL) ti_Data is TRUE. Default is FALSE. The newest
  1486.         message will be marked as deleted if duplicates are found.
  1487.  
  1488.     FDBRM_UnMarkCrossPosts - Search trough unread messages and mark 
  1489.         crossposts as read if (BOOL) ti_Data is TRUE. Default is FALSE. 
  1490.         If a instance of the crossposted message is found read in the 
  1491.         database, all instances of it will be marked as read. If not,
  1492.         only the first instance of the crossposted message will be kept 
  1493.         unread. (The conferences will be scanned in the same order as 
  1494.         your conference list.) This tag is only useful on bbs'es where 
  1495.         messages are identified with unique message identifiers. 
  1496.  
  1497.    RESULT
  1498.     error - Boolean.
  1499.  
  1500.    EXAMPLE
  1501.  
  1502.    NOTES
  1503.     If the message has a messageid this messageid is regarded as unique.
  1504.  
  1505.    BUGS
  1506.  
  1507.    SEE ALSO
  1508.  
  1509. bbsread.library/FindOrginalNr                   bbsread.library/FindOrginalNr
  1510.  
  1511.    NAME    
  1512.     FindOrginalNr -- Find message by orginal number
  1513.  
  1514.    SYNOPSIS
  1515.     msgnr = FindOrginalNr( conf, orginalnr )
  1516.       D0                    A0       D1
  1517.     
  1518.     ULONG FindOrginalNr( struct ConfListItem *, ULONG );
  1519.  
  1520.    FUNCTION
  1521.     Scans the conference for a message with the passed orginal number.
  1522.  
  1523.    INPUTS
  1524.     conf - Conference to search in.
  1525.     orginalnr - Orginal number to search for.
  1526.  
  1527.    RESULT
  1528.     msgnr - The number the message has locally. Returns 0 if the orginalnr
  1529.         can't be found. 
  1530.  
  1531.    EXAMPLE
  1532.  
  1533.    NOTES
  1534.  
  1535.    BUGS
  1536.  
  1537.    SEE ALSO
  1538.  
  1539. bbsread.library/FreeBRObject                     bbsread.library/FreeBRObject
  1540.  
  1541.    NAME    
  1542.     FreeBRObject -- Frees an object allocated
  1543.  
  1544.    SYNOPSIS
  1545.     void FreeBRObject( object )
  1546.                        A0
  1547.  
  1548.     void FreeBRObject( void * );
  1549.  
  1550.    FUNCTION
  1551.     Frees an object allocated with any of the other functions in this 
  1552.     library. Safe to call with a NULL pointer or a (APTR) -1 pointer.
  1553.  
  1554.    INPUTS
  1555.     object - Pointer to object to free.
  1556.  
  1557.    RESULT
  1558.  
  1559.    EXAMPLE
  1560.  
  1561.    NOTES
  1562.  
  1563.    BUGS
  1564.  
  1565.    SEE ALSO
  1566.  
  1567. bbsread.library/GetBBSList                         bbsread.library/GetBBSList
  1568.  
  1569.    NAME    
  1570.     GetBBSList -- Returns a list of available BBS'es
  1571.  
  1572.    SYNOPSIS
  1573.     bbslist = GetBBSList()
  1574.     D0
  1575.  
  1576.     struct List * GetBBSList( void );
  1577.  
  1578.    FUNCTION
  1579.     Returns a Exec list of the available BBS'es. This list is your 
  1580.     private READ-ONLY copy of the actual list, and you will not notice 
  1581.     if anything is changed, i.e. BBS'es added or deleted.
  1582.  
  1583.     Each node in the list has bl_Node.ln_Name set to bl_Data->bd_Name. 
  1584.     You are free to use bl_Node.ln_Name for your own purposes.
  1585.      
  1586.     The list must be deallocated with FreeBRObject().
  1587.     
  1588.     You are allowed to rearrange the order of the nodes in the list. 
  1589.     *All* nodes must be in the list when the list is deallocated.
  1590.  
  1591.    INPUTS
  1592.  
  1593.    RESULT
  1594.     bbslist - Exec list of the available BBS'es. The list consist of 
  1595.         BBSListNode structures. Returns a NULL pointer on failure.
  1596.  
  1597.    EXAMPLE
  1598.  
  1599.    NOTES
  1600.  
  1601.    BUGS
  1602.  
  1603.    SEE ALSO
  1604.     <bbsread.h>
  1605.  
  1606. bbsread.library/GetConfigValue                 bbsread.library/GetConfigValue
  1607.  
  1608.    NAME    
  1609.     GetConfigValue -- Returns the configuration value to use.
  1610.  
  1611.    SYNOPSIS
  1612.     error = GetConfigValue( tagitems )
  1613.     D0                         A0
  1614.  
  1615.     BOOL GetConfigValue( struct TagItem * );
  1616.  
  1617.     error = GetConfigValueTags( Tag1, ... )
  1618.  
  1619.     BOOL GetConfigValueTags( ULONG, ... );
  1620.  
  1621.    FUNCTION
  1622.     Get the correct value for a specified conference of BBS. 
  1623.  
  1624.    INPUTS
  1625.     tagitems - Pointer to TagItem array.
  1626.  
  1627.     Here are the TagItem.ti_Tag values that are defined for
  1628.     GetConfigValue().
  1629.  
  1630.     GCV_GlobalConfig - GlobalConfig is pointed by 
  1631.         (struct GlobalConfig *) ti_Data. Default value is NULL.
  1632.  
  1633.     GCV_TypeListItem - TypeListItem is pointed by (struct 
  1634.         TypeListItem *) ti_Data. Default value is NULL.
  1635.  
  1636.     GCV_BBSListItem - BBSListItem is pointed by (struct 
  1637.         BBSListItem *) ti_Data. Default value is NULL.
  1638.  
  1639.     GCV_ConfListItem - ConfListItem is pointed by (struct 
  1640.         ConfListItem *) ti_Data. Default value is NULL.
  1641.  
  1642.     GCV_EventType - Type of event to use config value in is in (ULONG) 
  1643.         ti_Data. This value is used by GCV_ConfReplyString and 
  1644.         GCV_BBSReplyString tags. Default value of this tag is 
  1645.         EVE_REPLYMSG.
  1646.  
  1647.     GCV_ConfQuoteType - Where to put conference quote type is 
  1648.         pointed by (UBYTE *) ti_Data.
  1649.  
  1650.     GCV_ConfQuoteChars - Where to put pointer to conference quote chars
  1651.          is pointed by (STRPTR *) ti_Data.
  1652.  
  1653.     GCV_ConfQuoteReflow - Where to put conference reflow flag is 
  1654.         pointed by (BOOL *) ti_Data.
  1655.  
  1656.     GCV_BBSQuoteType - Where to put bbs quote type is pointed by 
  1657.         (UBYTE *) ti_Data.
  1658.  
  1659.     GCV_BBSQuoteChars - Where to put pointer to bbs quote chars is 
  1660.         pointed by (STRPTR *) ti_Data.
  1661.  
  1662.     GCV_BBSQuoteReflow - Where to put bbs reflow flag is pointed by
  1663.         (BOOL *) ti_Data.
  1664.  
  1665.     GCV_ConfReplyString - Where to put pointer to conference reply 
  1666.         string is pointed by (STRPTR *) ti_Data.
  1667.  
  1668.     GCV_BBSReplyString - Where to put pointer to bbs reply string is 
  1669.         pointed by (STRPTR *) ti_Data.
  1670.  
  1671.     GCV_ConfEnterScript - Where to put pointer to name of conference
  1672.         enter script is pointed by (STRPTR *) ti_Data.
  1673.  
  1674.     GCV_ConfLeaveScript - Where to put pointer to name of conference 
  1675.         leave script is pointed by (STRPTR *) ti_Data.
  1676.  
  1677.     GCV_BBSEnterScript - Where to put pointer to name of bbs enter script
  1678.         is pointed by (STRPTR *) ti_Data.
  1679.  
  1680.     GCV_BBSLeaveScript - Where to put pointer to name of bbs leave script
  1681.         is pointed by (STRPTR *) ti_Data.
  1682.  
  1683.    RESULT
  1684.     error - Boolean
  1685.  
  1686.    EXAMPLE
  1687.  
  1688.    NOTES
  1689.     The string pointers returned are only valid until GlobalConfig, 
  1690.     TypeData, BBSData or ConfData are updated or freed.
  1691.  
  1692.    BUGS
  1693.  
  1694.    SEE ALSO
  1695.  
  1696. bbsread.library/GetConfList                       bbsread.library/GetConfList
  1697.  
  1698.    NAME    
  1699.     GetConfList -- Returns a list of available conferences in a BBS.
  1700.  
  1701.    SYNOPSIS
  1702.     conflist = GetConfList( bbs )
  1703.                             A0
  1704.  
  1705.     struct List * GetConfList( struct BBSListItem * );
  1706.  
  1707.    FUNCTION
  1708.     Returns a Exec list of the available conferences on a specified BBS.
  1709.     This list is your private READ-ONLY copy of the actual list, and 
  1710.     you will not notice if anything is changed, i.e. conferences added 
  1711.     or deleted.
  1712.  
  1713.     Each node in the list has cl_Node.ln_Name set to cd_Name. You are
  1714.     free to use cl_Node.ln_Name for your own purposes. cl_UserData is 
  1715.     set to NULL.
  1716.      
  1717.     The list must be deallocated with FreeBRObject().
  1718.  
  1719.     You are allowed to rearrange the order of the nodes in the list. 
  1720.     *All* nodes must be in the list when the list is deallocated.
  1721.  
  1722.    INPUTS
  1723.     bbs - Pointer to the BBSListItem to get conference list for.
  1724.  
  1725.    RESULT
  1726.     conflist - Exec list of the available conferences at the BBS. The 
  1727.         list consists of ConfListItem structures. Returns a NULL pointer
  1728.         on failure.
  1729.  
  1730.    EXAMPLE
  1731.  
  1732.    NOTES
  1733.     Will update the bi_SumMarked and bi_SumM2User fields of 
  1734.     bbs->bl_Internal.
  1735.  
  1736.    BUGS
  1737.  
  1738.    SEE ALSO
  1739.     
  1740.  
  1741. bbsread.library/GetFAreaList                     bbsread.library/GetFAreaList
  1742.  
  1743.    NAME    
  1744.     GetFAreaList -- Returns a list of available file areas on a BBS.
  1745.  
  1746.    SYNOPSIS
  1747.     farealist = GetFAreaList( bbs )
  1748.                               A0
  1749.  
  1750.     struct List * GetFAreaList( struct BBSListItem * );
  1751.  
  1752.    FUNCTION
  1753.     Returns a Exec list of the available file areas on a specified BBS.
  1754.     This list is your private READ-ONLY copy of the actual list, and 
  1755.     you will not notice if anything is changed, i.e. conferences added 
  1756.     or deleted.
  1757.  
  1758.     Each node in the list has al_Node.ln_Name set to ad_Name. You are
  1759.     free to use al_Node.ln_Name for your own purposes.
  1760.      
  1761.     The list must be deallocated with FreeBRObject().
  1762.  
  1763.    INPUTS
  1764.     bbs - Pointer to the BBSListItem to get file area list for.
  1765.  
  1766.    RESULT
  1767.     farealist - Exec list of the available file areas on the BBS. The 
  1768.         list consist of FAreaListItem structures. Returns a NULL pointer
  1769.         on failure.
  1770.  
  1771.    EXAMPLE
  1772.  
  1773.    NOTES
  1774.  
  1775.    BUGS
  1776.  
  1777.    SEE ALSO
  1778.     
  1779.  
  1780. bbsread.library/GetGlobalConfig               bbsread.library/GetGlobalConfig
  1781.  
  1782.    NAME    
  1783.     GetGlobalConfig -- Returns a copy of the global configuration.
  1784.  
  1785.    SYNOPSIS
  1786.     globalcfg = GetGlobalConfig()
  1787.     D0
  1788.  
  1789.     struct GlobalConfig *GetGlobalConfig();
  1790.  
  1791.    FUNCTION
  1792.     Returns a copy of the global configuration. The structure is your 
  1793.     private READ-ONLY copy of the actual structure. Beware that some
  1794.     STRPTR'ers in the returned structure could be NULL-pointers.
  1795.  
  1796.     The structure must be deallocated with FreeBRObject().
  1797.  
  1798.    INPUTS
  1799.  
  1800.    RESULT
  1801.     globalcfg - Structure with global configuration. Returns a NULL 
  1802.         pointer on failure.
  1803.  
  1804.    EXAMPLE
  1805.  
  1806.    NOTES
  1807.     Some of the STRPTR in the structure may be NULL-pointers.
  1808.  
  1809.    BUGS
  1810.  
  1811.    SEE ALSO 
  1812.     ConfigGlobal()
  1813.  
  1814. bbsread.library/GetMarkedMsg                     bbsread.library/GetMarkedMsg
  1815.  
  1816.    NAME    
  1817.     GetMarkedMsg -- Get messagenumbers of marked messages
  1818.  
  1819.    SYNOPSIS
  1820.     msgnrbuf = GetMarkedMsg( conf, usebuf, offset, numof )
  1821.     D0                        A0     A1     D1       D2
  1822.  
  1823.     ULONG * GetMarkedMsg( struct ConfListItem *, ULONG *, ULONG, ULONG );
  1824.  
  1825.    FUNCTION
  1826.     Returns the mesagenumbers of the marked (unread) messages. If there is 
  1827.     not enough messages to fill the supplied buffer, the rest of the 
  1828.     entries will be NULL'ed out.
  1829.  
  1830.    INPUTS
  1831.     conf - Pointer to conference to get marked messages in.
  1832.     usebuf - Pointer to the buffer to hold the messagenumbers in, must
  1833.         atleast of (numof * sizeof(ULONG)) length.
  1834.     offset - Where in the list over marked messages to start reading.
  1835.     numof - Number of messagenumbers to get.
  1836.  
  1837.    RESULT
  1838.     msgnrbuf - Pointer to the buffer containing the messagenumers.
  1839.         On failure, a NULL pointer is returned.
  1840.  
  1841.    EXAMPLE
  1842.  
  1843.    NOTES
  1844.  
  1845.    BUGS
  1846.  
  1847.    SEE ALSO
  1848.  
  1849. bbsread.library/GetSignature                     bbsread.library/GetSignature
  1850.  
  1851.    NAME    
  1852.     GetSignature -- Return the prefered signature.
  1853.  
  1854.    SYNOPSIS
  1855.     signature = GetSignature( globals, bbs, conf)
  1856.     D0                          A0      A1   A2
  1857.  
  1858.     STRPTR GetSignature( struct GlobalConfig *, struct BBSListItem *, 
  1859.         struct ConfListItem * );
  1860.  
  1861.    FUNCTION
  1862.     Returns the signature to use in a message in the conf conference in 
  1863.     the bbs BBS. The pointer returned is only valid until the next time
  1864.     you call this function. If the prefered signature is a file signature,
  1865.     the signature will be loaded and the returned pointer will point to 
  1866.     a buffer holding the signature.
  1867.  
  1868.    INPUTS
  1869.     globals - Pointer to your copy of the global configuration.
  1870.     bbs - Pointer to BBSListItem for bbs to get signature for. Can be a 
  1871.         NULL-pointer.
  1872.     conf - Pointer to ConfListItem for the conference to get signature 
  1873.         for. Can be a NULL-pointer.
  1874.  
  1875.    RESULT
  1876.     signature - Returns a string pointer for the signature to use. 
  1877.         Returns a NULL-pointer if there is no defined signature or
  1878.         if the function failed. On failure, IoErr() will be non-zero.
  1879.         Will also return a NULL pointer if a NO_SIGNATURE flag is set.
  1880.  
  1881.    EXAMPLE
  1882.  
  1883.    NOTES
  1884.     The pointer returned may be a copy of the Signature string pointer in
  1885.     either GlobalConfig, BBSData or ConfData. Therefore the pointer is 
  1886.     only valid as long as you don't free or update any of these 
  1887.     structures.
  1888.  
  1889.    BUGS
  1890.  
  1891.    SEE ALSO
  1892.  
  1893. bbsread.library/GetTagFile                         bbsread.library/GetTagFile
  1894.  
  1895.    NAME    
  1896.     GetTagFile -- Return the prefered tag file.
  1897.  
  1898.    SYNOPSIS
  1899.     tagfile = GetTagFile( globals, bbs, conf)
  1900.     D0                      A0      A1   A2
  1901.  
  1902.     STRPTR GetTagFile( struct GlobalConfig *, struct BBSListItem *, 
  1903.         struct ConfListItem * );
  1904.  
  1905.    FUNCTION
  1906.     Returns the tag file to use in a message in the conf conference in 
  1907.     the bbs BBS.
  1908.  
  1909.    INPUTS
  1910.     globals - Pointer to your copy of the global configuration.
  1911.     bbs - Pointer to BBSListItem for bbs to get tag file for. Can be a 
  1912.         NULL-pointer.
  1913.     conf - Pointer to ConfListItem for the conference to get tag file 
  1914.         for. Can be a NULL-pointer.
  1915.  
  1916.    RESULT
  1917.     tagfile - Returns a string pointer for the tag file to use. 
  1918.         Returns a NULL-pointer if there is no defined tag file.
  1919.         Will also return a NULL pointer if a NO_TAG flag is set.
  1920.  
  1921.    EXAMPLE
  1922.  
  1923.    NOTES
  1924.     The pointer returned is a copy of the tag file string pointer in
  1925.     either GlobalConfig, BBSData or ConfData. Therefore the pointer is 
  1926.     only valid as long as you don't free or update any of these 
  1927.     structures.
  1928.  
  1929.    BUGS
  1930.  
  1931.    SEE ALSO
  1932.  
  1933. bbsread.library/GetTypeList                       bbsread.library/GetTypeList
  1934.  
  1935.    NAME    
  1936.     GetTypeList -- Returns a list of available BBS types
  1937.  
  1938.    SYNOPSIS
  1939.     typelist = GetTypeList()
  1940.     D0
  1941.  
  1942.     struct List * GetTypeList( void );
  1943.  
  1944.    FUNCTION
  1945.     Returns a Exec list with the available BBS types. This list is your 
  1946.     private READ-ONLY copy of the actual list, and you will not notice 
  1947.     if anything is changed, i.e. BBS types added or deleted.
  1948.  
  1949.     Each node in the list has tl_Node.ln_Name set to tl_Data->td_TypeName.
  1950.     You are free to use tl_Node.ln_Name for your own purposes.
  1951.      
  1952.     The list must be deallocated with FreeBRObject().
  1953.     
  1954.    INPUTS
  1955.  
  1956.    RESULT
  1957.     typelist - Exec list of the available BBS types. The list consist of
  1958.         TypeListNode structures. Returns a NULL pointer on failure.
  1959.  
  1960.    EXAMPLE
  1961.  
  1962.    NOTES
  1963.  
  1964.    BUGS
  1965.  
  1966.    SEE ALSO
  1967.     <bbsread.h>
  1968.  
  1969. bbsread.library/MakeEventPackage             bbsread.library/MakeEventPackage
  1970.  
  1971.    NAME    
  1972.     MakeEventPackage -- Make event package for a bbs
  1973.  
  1974.    SYNOPSIS
  1975.     error = MakeEventPackage( bbs, tagitems )
  1976.     D0                        A0      A1
  1977.  
  1978.     LONG MakeEventPackage( struct BBSListItem *, struct TagItem * );
  1979.  
  1980.     error = MakeEventPackageTags( bbs, Tag1, ... )
  1981.  
  1982.     LONG MakeEventPackageTags( struct BBSListItem *, ULONG, ... );
  1983.  
  1984.    FUNCTION
  1985.     This function calls up the command to pack and archive the events for
  1986.     this BBS. The command used is the one set up in the typedata for the 
  1987.     BBS. This function returns success if no eventpacker is configured 
  1988.     for the bbstype of this bbs.
  1989.  
  1990.     The tags that are not understood are forwarded to dos.library/
  1991.     SystemTagList(). Look at dos.library/SystemTagList() for futher 
  1992.     information on tags.
  1993.  
  1994.     The BDF_EVENTS_CHANGED flag will be cleared for this bbs if this 
  1995.     function returns success.
  1996.  
  1997.    INPUTS
  1998.     bbs - Pointer to BBSListItem for bbs.
  1999.     tagitems - Pointer to TagItem array. Tags not defined for 
  2000.         MakeEventPackage() are passed to dos.library/SystemTagList(). See
  2001.         <dos/dostags.h>.  Both dos.library/SystemTagList() tags and 
  2002.         dos.library/CreateNewProc() tags may be passed. 
  2003.     
  2004.     Here are the TagItem.ti_Tag values that are defined for
  2005.     MakeEventPackage().
  2006.  
  2007.     EP_PublicScreen - Public screen for eventpacker to open possible
  2008.         progress windows on is in (STRPTR) ti_Data. The public screen
  2009.         name is forwarded to the packer as a parameter.
  2010.  
  2011.    RESULT
  2012.     error    - 0 for success, result from command, or -1.  Note that on 
  2013.         error, the caller is responsible for any filehandles or other
  2014.         things passed in via tags.
  2015.  
  2016.    EXAMPLE
  2017.  
  2018.    NOTES
  2019.     bbs->bl_Data->bd_Flags will be updated by MakeEventPackage().
  2020.  
  2021.    BUGS
  2022.  
  2023.    SEE ALSO
  2024.     dos.library/SystemTagList(), dos.library/CreateNewProc(),
  2025.     <dos/dostags.h>
  2026.  
  2027. bbsread.library/MarkMessage                       bbsread.library/MarkMessage
  2028.  
  2029.    NAME    
  2030.     MarkMessage -- Mark or unmark messages
  2031.  
  2032.    SYNOPSIS
  2033.     error = MarkMessage( conf, tagitems )
  2034.     D0                    A0      A1
  2035.  
  2036.     BOOL MarkMessage( struct ConfListItem *, struct TagItem * );
  2037.  
  2038.     error = MarkMessageTags( conf, Tag1, ... )
  2039.  
  2040.     BOOL MarkMessageTags( struct ConfListItem *, ULONG, ... );
  2041.  
  2042.    FUNCTION
  2043.     Use this function to mark or unmark messages.
  2044.  
  2045.    INPUTS
  2046.     conf - Pointer to conference to mark or unmark messages in.
  2047.     tagitems - Pointer to TagItem array.
  2048.  
  2049.     Here are the TagItem.ti_Tag values that are defined for
  2050.     MarkMessage().
  2051.  
  2052.     MM_MarkMessage - The messagenumber to mark is in (ULONG) ti_Data.
  2053.  
  2054.     MM_MarkArray - An array of ULONG containing messages to mark is 
  2055.         pointed to by (ULONG *) ti_Data. A NULL pointer terminates the
  2056.         array.
  2057.  
  2058.     MM_UnMarkMessage - The messagenumber to unmark is in (ULONG) ti_Data.
  2059.  
  2060.     MM_UnMarkArray - An array of ULONG containing messages to unmark is 
  2061.         pointed to by (ULONG *) ti_Data. A NULL pointer terminates the
  2062.         array.
  2063.  
  2064.     MM_SuperMarking - The mark tags will set the MDF_SUPERMARKED flag and
  2065.         the unmark tags will clear the MDF_SUPERMARKED flag if (BOOL) 
  2066.         ti_Data is TRUE.
  2067.  
  2068.     MM_Reset - Unmark all marked messages if (BOOL) ti_Data is TRUE.
  2069.  
  2070.     MM_MineFirst - Move marked messages to user first if (BOOL) 
  2071.         ti_Data is TRUE.
  2072.  
  2073.     MM_Reference - Move marked messages in reference order if (BOOL) 
  2074.         ti_Data is TRUE.
  2075.  
  2076.     MM_ToAllFirst - Move marked messages to all first if (BOOL) ti_Data 
  2077.         is TRUE.
  2078.  
  2079.     MM_SortByMsgNumbers - Sort the marked messages by its messagenumbers
  2080.         if (BOOL) ti_Data is TRUE.
  2081.  
  2082.     MM_GroupSubject - Group marked messages by subject if (BOOL) ti_Data
  2083.         is TRUE.
  2084.  
  2085.     MM_Reverse - Reverse the order of the marked messages if (BOOL) 
  2086.         ti_Data is TRUE.
  2087.  
  2088.    RESULT
  2089.     error - Returns TRUE on failure.
  2090.  
  2091.    EXAMPLE
  2092.  
  2093.    NOTES
  2094.     Super marked messages can only be unmarked when the MM_SuperMarking 
  2095.     tag is set to TRUE. 
  2096.  
  2097.    BUGS
  2098.  
  2099.    SEE ALSO
  2100.  
  2101. bbsread.library/PackDataFile                     bbsread.library/PackDataFile
  2102.  
  2103.    NAME    
  2104.     PackDataFile -- Removes all deleted entrys from a datafile
  2105.  
  2106.    SYNOPSIS
  2107.     fail = PackDataFile( tagitems )
  2108.     D0                      A0
  2109.  
  2110.     struct TagItem * PackDataFile( struct TagItem * );
  2111.  
  2112.     fail = PackDataFileTags( Tag1, ... )
  2113.  
  2114.     struct TagItem * PackDataFileTags( ULONG, ... );
  2115.  
  2116.    FUNCTION
  2117.     A function for 'packing' datafiles. This means removing all deleted 
  2118.     information from the datafile. This function supports callback 
  2119.     progress hooks.
  2120.  
  2121.    INPUTS
  2122.     tagitems - Pointer to TagItem array.
  2123.  
  2124.     Here are the TagItem.ti_Tag values that are defined for
  2125.     PackDataFile().
  2126.  
  2127.     PD_EventData - Clean up event data base for a bbs. The bbs to clean
  2128.         up is pointed by (struct BBSListItem *) ti_Data. No progress 
  2129.         callback for PD_EventData.
  2130.  
  2131.     PD_Conference - Pack the datafiles of the conference given in 
  2132.         (struct ConfListItem *) ti_Data. Messages will be deleted 
  2133.         acording to ConfData.cd_KeepMsg and ConfData.cd_KeepTime.
  2134.         A conference is packed in two passes. First pass deletes 
  2135.         messages, and the second pass actually packs the message data
  2136.         files. BRProgress.brp_Actions is only used for the first pass.
  2137.  
  2138.     PD_UserData - Pack the datafiles for the user database on the bbs 
  2139.         pointed by (struct BBSListItem *) ti_Data.
  2140.  
  2141.     PD_KillData - Pack the datafiles for the kill database on the bbs
  2142.         pointed by (struct BBSListItem *) ti_Data.
  2143.  
  2144.     PD_FileData - Pack the datafiles for the file database on the bbs 
  2145.         pointed by (struct BBSListItem *) ti_Data. 
  2146.  
  2147.     PD_SavePackedBRIEF - Name of file to save packed messages in BRIEF 
  2148.         format is pointed by (STRPTR) ti_Data. All messages which are 
  2149.         deleted because of KeepTime and KeepMsg will be saved to this 
  2150.         file. If the file exists, the messages will be appended to the
  2151.         file. Default is not to save any messages. This tag is ignored
  2152.         if the PD_Conference tag is not given.
  2153.  
  2154.    RESULT
  2155.     fail - NULL on success. On failure, it points to the tag which caused
  2156.         the failure.
  2157.  
  2158.    EXAMPLE
  2159.  
  2160.    NOTES
  2161.  
  2162.    BUGS
  2163.  
  2164.    SEE ALSO
  2165.  
  2166. bbsread.library/ParseGrab                           bbsread.library/ParseGrab
  2167.  
  2168.    NAME    
  2169.     ParseGrab -- Parse a grab and add it's messages.
  2170.  
  2171.    SYNOPSIS
  2172.     error = ParseGrab( grabnode, tagitems )
  2173.     D0                      A0        A1
  2174.  
  2175.     LONG ParseGrab( struct Node *, struct TagItem * );
  2176.  
  2177.     error = ParseGrabTags( grabnode, Tag1, ... )
  2178.  
  2179.     LONG ParseGrabTags( struct Node *, ULONG, ... );
  2180.  
  2181.    FUNCTION
  2182.     This calls up the command for adding messages in a grab to the message
  2183.     database. The grabnode parameter *must* be a node from a list returned 
  2184.     by ScanForGrabs(). The command used is the one set up in the typedata
  2185.     for the BBS.
  2186.  
  2187.     The tags that are not understood are forwarded to dos.library/
  2188.     SystemTagList(). Look at dos.library/SystemTagList() for futher 
  2189.     information on tags.
  2190.  
  2191.    INPUTS
  2192.     grabnode - Pointer to Node structure.
  2193.     tagitems - Pointer to TagItem array. See <dos/dostags.h>.  Both 
  2194.         dos.library/SystemTagList() tags and dos.library/CreateNewProc()
  2195.         tags may be passed.
  2196.     
  2197.     Here are the TagItem.ti_Tag values that are defined for
  2198.     ParseGrab().
  2199.  
  2200.     PG_PublicScreen - Public screen for eventpacker to open possible
  2201.         progress windows on is in (STRPTR) ti_Data. The public screen
  2202.         name is forwarded to the parser as a parameter. This screen
  2203.         name will also be used if ParseGrab() opens any reqtools
  2204.         requesters.
  2205.  
  2206.     PG_RequestWindow - Reference window for requesters opened by the 
  2207.         ParseGrab() function is pointed by (struct Window *) ti_Data. If
  2208.         this tag is omitted or is NULL and reqtools is not available will
  2209.         requesters appear on the default public screen.
  2210.  
  2211.    RESULT
  2212.     error    - 0 for success, result from command, or -1.  Note that on 
  2213.         error, the caller is responsible for any filehandles or other
  2214.         things passed in via tags.
  2215.  
  2216.    EXAMPLE
  2217.  
  2218.    NOTES
  2219.     This funtion uses reqtools requesters if reqtools.library is 
  2220.     available. The reqtools requesters opens on PG_PublicScreen if this
  2221.     tag is given.
  2222.  
  2223.    BUGS
  2224.  
  2225.    SEE ALSO
  2226.     dos.library/SystemTagList(), dos.library/CreateNewProc(),
  2227.     <dos/dostags.h>, ScanForGrabs()
  2228.  
  2229. bbsread.library/PGPBREvents                       bbsread.library/PGPBREvents
  2230.  
  2231.    NAME    
  2232.     PGPBREvents -- PGP sign and/or encrypt events.
  2233.  
  2234.    SYNOPSIS
  2235.     error = PGPBREvents( bbs, tagitems )
  2236.     D0                   A0      A1
  2237.  
  2238.     ULONG PGPBREvents( struct BBSListItem *, struct TagItem * );
  2239.  
  2240.     error = PGPBREventsTags(bbs, Tag1, ...)
  2241.  
  2242.     ULONG PGPBREventsTags(struct BBSListItem *, ULONG, ... );
  2243.  
  2244.    FUNCTION
  2245.     This function will PGP sign and/or encrypt BREV_MsgFile files if the 
  2246.     BREV_PGPSignID and/or BREV_PGPEncryptID tag is used in an event. The 
  2247.     encrypted and/or signed message (with ascii armour) is stored on the 
  2248.     disk under the same main name as the orginal text file, but with an 
  2249.     added .asc extension.
  2250.  
  2251.     This function is meant to be used by event packers before packing any 
  2252.     events. 
  2253.  
  2254.    INPUTS
  2255.     bbs - BBS to sign and/or encrypt events on.
  2256.     tagitems - Pointer to TagItem array. Tags not defined for 
  2257.         PGPBREvents() are passed to dos.library/SystemTagList().See 
  2258.         <dos/dostags.h>. Both dos.library/SystemTagList() tags and 
  2259.         dos.library/CreateNewProc() tags may be passed.
  2260.  
  2261.     Here are the TagItem.ti_Tag values that are defined for
  2262.     PGPBREvents().
  2263.  
  2264.     PGP_PublicScreen - Public screen name for pass phrase requester 
  2265.         (needed when signing messages) is pointed (STRPTR) ti_Data. 
  2266.         Default is default public screen.
  2267.  
  2268.    RESULT
  2269.     error - 0 on success. On failure will the number of the event which
  2270.         failed be returned.
  2271.  
  2272.    EXAMPLE
  2273.  
  2274.    NOTES
  2275.  
  2276.    BUGS
  2277.  
  2278.    SEE ALSO
  2279.  
  2280. bbsread.library/ReadBREvent                       bbsread.library/ReadBREvent
  2281.  
  2282.    NAME    
  2283.     ReadBREvent -- Read a event from the database.
  2284.  
  2285.    SYNOPSIS
  2286.     eveobj = ReadBREvent( bbs, eventnr, tagitems )
  2287.     D0                    A0    D1        A1
  2288.     
  2289.     APTR ReadBREvent( struct BBSListItem *, ULONG, struct Tagitem * );
  2290.  
  2291.     eveobj = ReadBREventTags( bbs, eventnr, Tag1, ... )
  2292.  
  2293.     APTR ReadBREventTags( struct BBSListItem *, ULONG, ULONG, ... );
  2294.  
  2295.    FUNCTION
  2296.     Reads the data about an event from the database. 
  2297.  
  2298.    INPUTS
  2299.     bbs - Pointer to BBSListItem structure returned in GetBBSList().
  2300.     eventnr - Number of the event to get data for.
  2301.     tagitems - Pointer to TagItem array.
  2302.  
  2303.     Here are the TagItem.ti_Tag values that are defined for
  2304.     ReadBREvent().
  2305.  
  2306.     RBREV_EventTagsPtr - Where to put a pointer to the loaded event 
  2307.         tagarray is pointed by (struct TagItem **) ti_Data. This tagarray
  2308.         contains all the BREV_#? tags for this event. These are the same 
  2309.         as supplied with WriteBREvent() when this event was added to the 
  2310.         database. If the event is marked as deleted or if ReadBREvent() 
  2311.         fails, *(struct TagItem **) ti_Data) will be set to NULL.
  2312.  
  2313.     RBREV_EventType - Where to put the type of this event is pointed by 
  2314.         (ULONG *) ti_Data.
  2315.  
  2316.     RBREV_EventDate - Where to put the date when the event was added to
  2317.         the database is pointed by (ULONG *) ti_Data. The date is in 
  2318.         seconds from 01-Jan-1978.
  2319.  
  2320.     RBREV_Flags - Where to put the flags for this event is pointed by 
  2321.         (LONGBITS *) ti_Data. See <libraries/bbsread.h> for definitions.
  2322.  
  2323.    RESULT
  2324.     eveobj - Returns NULL on failure. On success, eveobj *must* be passed
  2325.         to FreeBRObject() if it is anything else than (APTR) -1.
  2326.  
  2327.    EXAMPLE
  2328.  
  2329.    NOTES
  2330.     No need to FreeBRObject() eveobj if eveobj is (APTR) -1.
  2331.  
  2332.     You are allowed to change the returned strings. (They must not be
  2333.     made any longer)
  2334.  
  2335.    BUGS
  2336.  
  2337.    SEE ALSO
  2338.  
  2339. bbsread.library/ReadBRFile                         bbsread.library/ReadBRFile
  2340.  
  2341.    NAME    
  2342.     ReadBRFile -- Read the data for a file from the database.
  2343.  
  2344.    SYNOPSIS
  2345.     fileobj = ReadBRFile( farea, filenr, tagitems )
  2346.     D0                      A0     D1       A1
  2347.     
  2348.     APTR ReadBRFile( struct FAreaListItem *, ULONG, struct Tagitem * );
  2349.  
  2350.     fileobj = ReadBRFileTags( farea, filenr, Tag1, ... )
  2351.  
  2352.     APTR ReadBRFileTags( struct FAreaListItem *, ULONG, ULONG, ... );
  2353.  
  2354.    FUNCTION
  2355.     Reads the data for a file from the database.
  2356.  
  2357.    INPUTS
  2358.     farea - Pointer to FAreaListItem structure returned in GetFAreaList().
  2359.     filenr - Number of file to get data for.
  2360.     tagitems - Pointer to TagItem array.
  2361.  
  2362.     Here are the TagItem.ti_Tag values that are defined for
  2363.     ReadBRFile().
  2364.  
  2365.     RBRF_FileTagsPtr - Where to put a pointer to the loaded file tagarray
  2366.         is pointed by (struct TagItem **) ti_Data. This tagarray contains
  2367.         all the BRFILE_#? tags for this file. These are the same as 
  2368.         supplied with WriteBRFile() when this file was written to the
  2369.         database. If the file is marked as deleted or if ReadBRFile() 
  2370.         fails, *(struct TagItem **) ti_Data) will be set to NULL.
  2371.  
  2372.     RBRF_FileDate - Where to put the date when the file was added to the
  2373.         database is pointed by (ULONG *) ti_Data. The date is in seconds 
  2374.         from 01-Jan-1978.
  2375.  
  2376.     RBRF_Flags - Where to put the flags for this file is pointed by 
  2377.         (LONGBITS *) ti_Data. See <libraries/bbsread.h> for definitions.
  2378.  
  2379.     RBRF_NextFile - Where to put the number of the next file in the same 
  2380.         file area as this file is pointed by (ULONG *) ti_Data. This tag
  2381.         *must* be used when traversing trough all files in a file area. 
  2382.         The number of the first file in a file area is in the file areas
  2383.         FAreaData structure. A 0 means there are no more files in this
  2384.         file area.
  2385.     
  2386.    RESULT
  2387.     userobj - Returns NULL on failure. On success, fileobj *must* be passed
  2388.         to FreeBRObject() if it is anything else than (APTR) -1.
  2389.  
  2390.    EXAMPLE
  2391.  
  2392.    NOTES
  2393.     No need to FreeBRObject() fileobj if fileobj is (APTR) -1.
  2394.  
  2395.     You are allowed to change the returned strings. (They must not be
  2396.     made any longer)
  2397.  
  2398.    BUGS
  2399.  
  2400.    SEE ALSO
  2401.  
  2402. bbsread.library/ReadBRKill                         bbsread.library/ReadBRKill
  2403.  
  2404.    NAME    
  2405.     ReadBRKill -- Read the data for a kill from the database.
  2406.  
  2407.    SYNOPSIS
  2408.     killobj = ReadBRKill( bbs, killnr, tagitems )
  2409.     D0                    A0    D1       A1
  2410.  
  2411.     ULONG ReadBRKill( struct BBSListItem *, ULONG, struct Tagitem * );
  2412.  
  2413.     killobj = ReadBRKillTags( bbs, killnr, Tag1, ... )
  2414.  
  2415.     ULONG ReadBRKill( struct BBSListItem *, ULONG, ULONG, ... );
  2416.  
  2417.    FUNCTION
  2418.     Read the data for a kill from the database.
  2419.  
  2420.    INPUTS
  2421.     bbs - Pointer to BBSListItem structure returned in GetBBSList().
  2422.     killnr - Number of kill to get data for.
  2423.     tagitems - Pointer to TagItem array.
  2424.  
  2425.     Here are the TagItem.ti_Tag values that are defined for
  2426.     ReadBRKill().
  2427.  
  2428.     RBRK_KillTagsPtr - Where to put a pointer to the loaded kill tagarray
  2429.         is pointed by (struct TagItem **) ti_Data. This tagarray contains
  2430.         all the BRMSG_#? tags for this kill. These are the same as 
  2431.         supplied with WriteBRKill() when this kill was written to the 
  2432.         database. If the kill is marked as deleted or if ReadBRKill() 
  2433.         fails, *((struct TagItem **) ti_Data) will be set to NULL.
  2434.  
  2435.     RBRK_KillDate - Where to put the date when the kill was added to the
  2436.         database is pointed by (ULONG *) ti_Data. The date is in seconds
  2437.         from 01-Jan-1978.
  2438.  
  2439.     RBRK_LastKill - Where to put the date when this kill last killed is
  2440.         pointed by (ULONG *) ti_Data. The date is in seconds from 
  2441.         01-Jan-1978.
  2442.  
  2443.     RBRK_Flags - Where to put the flags for this kill is pointed by 
  2444.         (LONGBITS *) ti_Data. See <libraries/bbsread.h> for definitions.
  2445.  
  2446.    RESULT
  2447.     killobj - Returns NULL on failure. On success, killobj *must* be passed
  2448.         to FreeBRObject() if it is anything else than (APTR) -1.
  2449.  
  2450.    EXAMPLE
  2451.  
  2452.    NOTES
  2453.     No need to FreeBRObject() userobj if userobj is (APTR) -1.
  2454.  
  2455.     You are allowed to change the returned strings. (They must not be
  2456.     made any longer)
  2457.  
  2458.    BUGS
  2459.  
  2460.    SEE ALSO
  2461.  
  2462. bbsread.library/ReadBRMessage                   bbsread.library/ReadBRMessage
  2463.  
  2464.    NAME    
  2465.     ReadBRMessage -- Read a message from the database.
  2466.  
  2467.    SYNOPSIS
  2468.     msgobj = ReadBRMessage( conf, msgnr, tagitems )
  2469.     D0                      A0     D1      A1
  2470.  
  2471.     APTR ReadBRMessage( struct ConfListItem *, ULONG, struct TagItem * );
  2472.  
  2473.     msgobj = ReadBRMessageTags( conf, msgnr, Tag1, ... )
  2474.     D0                      A0     D1      A1
  2475.  
  2476.     APTR ReadBRMessageTags( struct ConfListItem *, ULONG, ULONG, ... );
  2477.  
  2478.    FUNCTION
  2479.     Read data about a message from the database. 
  2480.  
  2481.     The multiple parts in multipart messages should be presented in the
  2482.     order they are found in the taglist. BRMSG_Text should always be
  2483.     presented first.
  2484.  
  2485.    INPUTS
  2486.     conf - Pointer to ConfListItem structure returned in GetConfList.
  2487.     msgnr - Number of the message to get data for.
  2488.  
  2489.     tagitems - Pointer to TagItem array.
  2490.  
  2491.     Here are the TagItem.ti_Tag values that are defined for
  2492.     ReadBRMessage().
  2493.  
  2494.     RBRMSG_MsgTagsPtr - Where to put a pointer to the loaded message 
  2495.         tagarray is pointed by (struct TagItem **) ti_Data. This tagarray
  2496.         contains all the BRMSG_#? tags for this message. These are the 
  2497.         same as supplied with WriteBRMessage() when this message was added
  2498.         to the database. If the message is marked as deleted or if 
  2499.         ReadBRMessage() fails, *(struct TagItem **) ti_Data) will be set to
  2500.         NULL.
  2501.  
  2502.     RBRMSG_MsgDate - Where to put the date when the message was added to
  2503.         the database is pointed by (ULONG *) ti_Data. The date is in 
  2504.         seconds from 01-Jan-1978.
  2505.  
  2506.     RBRMSG_Reference - Where to put the number of the message this message
  2507.         refers to is pointed by (ULONG *) ti_Data. If the reference is 0, 
  2508.         this message has no references.
  2509.  
  2510.     RBRMSG_FirstRef - Where to put the number of the first message which
  2511.         refers to this message is pointed by (ULONG *) ti_Data.
  2512.  
  2513.     RBRMSG_LastRef - Where to put the number of the last message which 
  2514.         refers to this message is pointed by (ULONG *) ti_Data.
  2515.  
  2516.     RBRMSG_PrevRef - Where to put the number of the previous message which
  2517.         refers to the same message as this message is pointed by (ULONG *)
  2518.         ti_Data.
  2519.  
  2520.     RBRMSG_NextRef - Where to put the number of the next message which 
  2521.         refers to the same message as this message is pointed by (ULONG *)
  2522.         ti_Data.
  2523.     
  2524.     RBRMSG_Flags - Where to put the flags for this message is pointed by 
  2525.         (LONGBITS *) ti_Data. See <libraries/bbsread.h> for definitions.
  2526.  
  2527.     RBRMSG_GetHeader - Tags considered as header fields are returned 
  2528.         in the message tagarray if (BOOL) ti_Data is TRUE. Default is 
  2529.         TRUE. To be used in combination with RBRMSG_MsgTagsPtr. What tags
  2530.         which are considered as header fields are defined in 
  2531.         <libraries/bbsread.h>
  2532.  
  2533.     RBRMSG_GetText - Tags considered as text fields are returned in the 
  2534.         message tagarray if (BOOL) ti_Data is TRUE. Default is TRUE. To be
  2535.         used in combination with RBRMSG_MsgTagsPtr. What tags which are 
  2536.         considered as text fields are defined in <libraries/bbsread.h>
  2537.  
  2538.    RESULT
  2539.     msgobj - Returns NULL on failure. On success, msgobj *must* be passed
  2540.         to FreeBRObject() if it is anything else than (APTR) -1.
  2541.  
  2542.    EXAMPLE
  2543.  
  2544.    NOTES
  2545.     No need to FreeBRObject() msgobj if msgobj is (APTR) -1.
  2546.  
  2547.     You are allowed to change the returned strings. (They must not be
  2548.     made any longer)
  2549.  
  2550.    BUGS
  2551.  
  2552.    SEE ALSO
  2553.  
  2554. bbsread.library/ReadBRUser                         bbsread.library/ReadBRUser
  2555.  
  2556.    NAME    
  2557.     ReadBRUser -- Read the data for an user from the database.
  2558.  
  2559.    SYNOPSIS
  2560.     userobj = ReadBRUser( bbs, usernr, tagitems )
  2561.     D0                    A0     D1       A1
  2562.     
  2563.     APTR ReadBRUser( struct BBSListItem *, ULONG, struct Tagitem * );
  2564.  
  2565.     userobj = ReadBRUserTags( bbs, usernr, Tag1, ... )
  2566.  
  2567.     APTR ReadBRUserTags( struct BBSListItem *, ULONG, ULONG, ... );
  2568.  
  2569.    FUNCTION
  2570.     Reads the data for an user from the database.
  2571.  
  2572.    INPUTS
  2573.     bbs - Pointer to BBSListItem structure returned in GetBBSList().
  2574.     eventnr - Number of user to get data for.
  2575.     tagitems - Pointer to TagItem array.
  2576.  
  2577.     Here are the TagItem.ti_Tag values that are defined for
  2578.     ReadBRUser().
  2579.  
  2580.     RBRUSR_UserTagsPtr - Where to put a pointer to the loaded user 
  2581.         tagarray is pointed by (struct TagItem **) ti_Data. This tagarray
  2582.         contains all the BRUSR_#? tags for this user. These are the same 
  2583.         as supplied with WriteBRUser() when this user was written to the 
  2584.         database. If the user is marked as deleted or if ReadBRUser() 
  2585.         fails, *(struct TagItem **) ti_Data) will be set to NULL.
  2586.  
  2587.     RBRUSR_UserDate - Where to put the date when the user was added to the
  2588.         database is pointed by (ULONG *) ti_Data. The date is in seconds 
  2589.         from 01-Jan-1978.
  2590.  
  2591.     RBRUSR_Flags - Where to put the flags for this user is pointed by 
  2592.         (LONGBITS *) ti_Data. See <libraries/bbsread.h> for definitions.
  2593.  
  2594.     
  2595.    RESULT
  2596.     userobj - Returns NULL on failure. On success, userobj *must* be passed
  2597.         to FreeBRObject() if it is anything else than (APTR) -1.
  2598.  
  2599.    EXAMPLE
  2600.  
  2601.    NOTES
  2602.     No need to FreeBRObject() userobj if userobj is (APTR) -1.
  2603.  
  2604.     You are allowed to change the returned strings. (They must not be
  2605.     made any longer)
  2606.  
  2607.    BUGS
  2608.  
  2609.    SEE ALSO
  2610.  
  2611. bbsread.library/ReadPassiveConfList       bbsread.library/ReadPassiveConfList
  2612.  
  2613.    NAME    
  2614.     ReadPassiveConfList -- Read the passive conference list.
  2615.  
  2616.    SYNOPSIS
  2617.     passConfList = ReadPassiveConfList( bbs )
  2618.     D0                                  A0
  2619.  
  2620.     struct List * ReadPassiveConfList( struct BBSListItem * );
  2621.  
  2622.    FUNCTION
  2623.     Gives you a list of all conferences in the passive conference list 
  2624.     datafiles. The passive conference list is a list of *all* available 
  2625.     conferences at the bbs. It should be used when the user want to send 
  2626.     a join event. Returns a list of struct PassConfListItem. The 
  2627.     pl_Node.ln_Name pointer equals the pl_Name pointer.
  2628.  
  2629.    INPUTS
  2630.     bbs - Pointer to the bbs which the list should be read from.
  2631.  
  2632.    RESULT
  2633.     passConfList - Pointer to the list header of the passive conference 
  2634.         list. The list *must* be freed with a call to FreeBRObject(). 
  2635.         Returns NULL on failure or if no passive conference list is 
  2636.         available. IoErr() will be set on failure.
  2637.  
  2638.    EXAMPLE
  2639.  
  2640.    NOTES
  2641.  
  2642.    BUGS
  2643.  
  2644.    SEE ALSO
  2645.  
  2646. bbsread.library/ScanForGrabs                     bbsread.library/ScanForGrabs
  2647.  
  2648.    NAME    
  2649.     ScanForGrabs -- Scans download directory for grabs.
  2650.  
  2651.    SYNOPSIS
  2652.     grablist = ScanForGrabs( void )
  2653.     D0
  2654.  
  2655.     struct MinList * ScanForGrabs( void );
  2656.  
  2657.    FUNCTION
  2658.     Scans the download directory for grabs. The BBS'es with waiting grabs 
  2659.     is returned in a list of struct Node. Node.ln_Name points to the name
  2660.     of the BBS.
  2661.  
  2662.     If there are more than one grab from a BBS, there will be a node in 
  2663.     the list for each grabfile. The nodes in the list are sorted on the
  2664.     name of the grabfile. By this the grabs are sorted correct if they 
  2665.     are numbered. The grabs should be parsed in the order they are found 
  2666.     in the list.
  2667.  
  2668.     The list must be deallocated with FreeBRObject().
  2669.  
  2670.    INPUTS
  2671.  
  2672.    RESULT
  2673.     grablist - Pointer to MinList structure. List contains Node 
  2674.         structures. Returns an empty list if there are no new grabs. 
  2675.         Returns NULL-pointer on failure and sets IoErr() if possible.
  2676.  
  2677.    EXAMPLE
  2678.  
  2679.    NOTES
  2680.     Returns NULL-pointer if gc_DnloadPath isn't set with GlobalConfig().
  2681.  
  2682.    BUGS
  2683.  
  2684.    SEE ALSO
  2685.  
  2686. bbsread.library/SearchBRFile                     bbsread.library/SearchBRFile
  2687.  
  2688.    NAME    
  2689.     SearchBRFile -- Search file database.
  2690.  
  2691.    SYNOPSIS
  2692.     found = SearchBRFile( tagitems )
  2693.     D0                       A0 
  2694.  
  2695.     struct SFileResult * SearchBRFile( struct TagItem * );
  2696.  
  2697.     found = SearchBRFileTags( Tag1, ... )
  2698.  
  2699.     struct SFileResult * SearchBRFileTags( ULONG, ... );
  2700.  
  2701.    FUNCTION
  2702.     This function scans the filedatabase for a file matching the given 
  2703.     searchkey. It's possible to search a file area or all file areas on a
  2704.     bbs. 
  2705.  
  2706.     Supports callback progress hooks tags.
  2707.  
  2708.    INPUTS
  2709.     tagitems - Pointer to TagItem array.
  2710.  
  2711.     Here are the TagItem.ti_Tag values that are defined for
  2712.     SearchBRFile().
  2713.  
  2714.     SBRF_SearchFAreaList - List of file areas to search in is pointed by
  2715.         (struct List *) ti_Data. The list *MUST* have been obtained with 
  2716.         GetFAreaList(). The point of this tag is to be able to search 
  2717.         all file areas on a bbs in one call.
  2718.  
  2719.     SBRF_SearchFArea - Search the file area pointed by (struct 
  2720.         FAreaListItem *) ti_Data. This tag has higher priority than the 
  2721.         SBRF_SearchFAreaList tag.
  2722.  
  2723.     SBRF_SearchStr - String to search for is pointed by (STRPTR) ti_Data.
  2724.         Wildcards are allowed.
  2725.  
  2726.     SBRF_SearchName - Search for a file with a name matching 
  2727.         SBRF_SearchStr exact if (BOOL) ti_Data is TRUE. Default is FALSE.
  2728.     
  2729.     SBRF_SearchAll - Search all strings for a match with SBRF_SearchStr 
  2730.         if (BOOL) ti_Data is TRUE. Default is FALSE. This tag has higher
  2731.         priority than the SBRF_SearchName tag.
  2732.  
  2733.     SBRF_NewerThan - Find files newer than (ULONG) ti_Data. Time is in 
  2734.         seconds since 1.January 1978
  2735.  
  2736.    RESULT
  2737.     found - Pointer to a SFileResult structure containing the results of 
  2738.         the search. The SFileResult structure must be deallocated with 
  2739.         FreeBRObject(). Returns a NULL pointer if no matches where found
  2740.         or if the function failed. IoErr() will be non null on failure.
  2741.  
  2742.    EXAMPLE
  2743.  
  2744.    NOTES
  2745.     This function will fail if neither SBRF_SearchBBS nor SBRF_SearchFArea
  2746.     is given in the taglist.
  2747.  
  2748.     If found->fr_NextResult is non NULL, a linked list of SFileResult
  2749.     structures is returned.
  2750.  
  2751.    BUGS
  2752.  
  2753.    SEE ALSO
  2754.  
  2755. bbsread.library/SearchBRMessage               bbsread.library/SearchBRMessage
  2756.  
  2757.    NAME    
  2758.     SearchBRMessage -- Search for messages in a conference.
  2759.  
  2760.    SYNOPSIS
  2761.     found = SearchBRMessage( conf, tagitems )
  2762.     D0                   A0      A1
  2763.  
  2764.     struct SearchResult * SearchBRMessage( struct ConfListItem *, 
  2765.         struct TagItem * );
  2766.  
  2767.     found = SearchBRMessageTags( conf, tag1, ... )
  2768.  
  2769.     struct SearchResult * SearchBRMessageTags( struct ConfListItem *, 
  2770.         ULONG, ... );
  2771.  
  2772.    FUNCTION
  2773.     Search through the messages in a conference. The search is not case 
  2774.     sensitive.
  2775.  
  2776.     Standard AmigaDOS wildcards are supported.
  2777.  
  2778.     Supports callback progress hooks tags.
  2779.  
  2780.    INPUTS
  2781.     conf - Conference to search in.
  2782.     tagitems - Pointer to TagItem array.
  2783.  
  2784.     Here are the TagItem.ti_Tag values that are defined for
  2785.     SearchBRMessage().
  2786.  
  2787.   SC_FindString - String to search for is in (STRPTR) ti_Data. There 
  2788.         can be searched for more than one string on each call by using 
  2789.         this tag more than once. As of V3, this tag is no longer needed 
  2790.         when searching.
  2791.  
  2792.     SC_FromUser - Search for messages from the user in (STRPTR) ti_data.
  2793.  
  2794.     SC_ToUser - Search for messages to the user in (STRPTR) ti_data. 
  2795.         Overrides the SC_ToAll tag.
  2796.  
  2797.     SC_FromMessage - Message number to start searching at is in (ULONG) 
  2798.         ti_Data. Default is to start at the first message in the 
  2799.         conference.
  2800.  
  2801.     SC_ToMessage - Message number to end searching at is in (ULONG) 
  2802.         ti_Data. Default is to end at the last message in the conference.
  2803.  
  2804.     SC_SearchSubject - Search in the subject if (BOOL) ti_Data is TRUE. 
  2805.         Default value for this tag is TRUE.
  2806.  
  2807.     SC_SearchMessage - Search in the message if (BOOL) ti_Data is TRUE.
  2808.         Default value for this tag is TRUE.
  2809.  
  2810.     SC_SearchComment - Search in the comment if (BOOL) ti_Data is TRUE. 
  2811.         Default value for this tag is TRUE.
  2812.  
  2813.     SC_MessageArray - Message numbers to search is in a NULL-terminated 
  2814.         array of ULONG pointed by (ULONG *) ti_Data. This tag overrides 
  2815.         the SC_FromMessage and SC_ToMessage tags.
  2816.     
  2817.     SC_ToAll - Search for messages to ALL if (BOOL) ti_Data is TRUE. 
  2818.  
  2819.     SC_KeptMessages - Search for messages with the MDF_KEEP flag set if 
  2820.         (BOOL) ti_Data is TRUE.
  2821.  
  2822.     SC_NewerThan - Search for messages newer than (ULONG) ti_Data. The 
  2823.         time is in seconds since 1.January 1978.
  2824.  
  2825.     SC_OlderThan - Search for messages older than (ULONG) ti_Data. The 
  2826.         time is in seconds since 1.January 1978.
  2827.  
  2828.    RESULT
  2829.     found - Pointer to a SearchResult structure containing the results of
  2830.         the search. The SearchResult structure must be deallocated with 
  2831.         FreeBRObject(). Returns a NULL pointer if no matches where found 
  2832.         or the function failed. IoErr() will be non null on failure.
  2833.  
  2834.    EXAMPLE
  2835.  
  2836.    NOTES
  2837.     If found->sr_NextResult is non NULL, a linked list of SearchResult
  2838.     structures is returned.
  2839.  
  2840.     The found->sr_Messages[] array is garantied to be NULL terminated.
  2841.  
  2842.    BUGS
  2843.  
  2844.    SEE ALSO
  2845.  
  2846. bbsread.library/SearchBRUser                     bbsread.library/SearchBRUser
  2847.  
  2848.    NAME    
  2849.     SearchBRUser -- Search user database.
  2850.  
  2851.    SYNOPSIS
  2852.     found = SearchBRUser( bbs, tagitems )
  2853.     D0                    A0      A1
  2854.  
  2855.     struct SUserResult * SearchBRUser( struct BBSListItem *, 
  2856.         struct TagItem * );
  2857.  
  2858.     found = SearchBRUserTags( bbs, Tag1, ... )
  2859.  
  2860.     struct SUserResult * SearchBRUserTags( struct BBSListItem *, ULONG, 
  2861.         ... );
  2862.  
  2863.    FUNCTION
  2864.     This function scans the userdatabase for an user at the given BBS.
  2865.     When suggesting users, SoundEx hashing will be used to suggest user 
  2866.     names which match the search string. If there are more than one name 
  2867.     in the search string, the first and the last will be used to narrow 
  2868.     the suggestions. The search order is aliases, names, addresses and 
  2869.     comment.
  2870.  
  2871.     Standard AmigaDOS wildcards is supported.
  2872.  
  2873.    INPUTS
  2874.     bbs - Pointer to BBS to search in.
  2875.     namestr - Name to search for.
  2876.     tagitems - Pointer to TagItem array.
  2877.  
  2878.     Here are the TagItem.ti_Tag values that are defined for
  2879.     SearchBRUser().
  2880.  
  2881.     SBRU_SearchStr - String to search for is pointed by (STRPTR) ti_Data.
  2882.  
  2883.     SBRU_SearchName - Search for a name matching SBRU_SearchStr exact if
  2884.         (BOOL) ti_Data is TRUE. Default is TRUE.
  2885.  
  2886.     SBRU_SearchAddr - Search for a address matching SBRU_SearchStr exact
  2887.         if (BOOL) ti_Data is TRUE. Default is TRUE.
  2888.     
  2889.     SBRU_SearchAlias - Search for a alias matching SBRU_SearchStr exact
  2890.         if (BOOL) ti_Data is TRUE. Default is TRUE.
  2891.     
  2892.     SBRU_SearchComment - Search in comment for a match to SBRU_SearchStr
  2893.         if (BOOL) ti_Data is TRUE. Default is FALSE. When wildcards are 
  2894.         used, the search pattern must match a line in the comment.
  2895.  
  2896.     SBRU_SuggestUsers - A list of suggestions for user names if 
  2897.         SBRU_SearchStr doesn't match any user names in the database will
  2898.         be pointed by *((struct MinList **) ti_Data) when this function 
  2899.         returns. The list will consist of UserSuggestion structures. The 
  2900.         list pointer may be a NULL-pointer if no users where found or if
  2901.         there was a failure. NB: The list *must* be freed with 
  2902.         FreeBRObject(). This tag is ignored when the SBRU_SearchName tag
  2903.         is FALSE or if SBRU_SearchStr contains wildcards.
  2904.  
  2905.    RESULT
  2906.     found - Pointer to a SUserResult structure containing the results of 
  2907.         the search. The SUserResult structure must be deallocated with 
  2908.         FreeBRObject(). Returns a NULL pointer if no matches where found
  2909.         or if the function failed. IoErr() will be non null on failure.
  2910.  
  2911.    EXAMPLE
  2912.  
  2913.    NOTES
  2914.     If found->ur_NextResult is non NULL, a linked list of SUserResult
  2915.     structures is returned.
  2916.  
  2917.    BUGS
  2918.  
  2919.    SEE ALSO
  2920.  
  2921. bbsread.library/StartOfAdding                   bbsread.library/StartOfAdding
  2922.  
  2923.    NAME    
  2924.     StartOfAdding -- Call before adding a grab. (Used by MsgParser)
  2925.  
  2926.    SYNOPSIS
  2927.     void StartOfAdding( bbs )
  2928.                         A0
  2929.  
  2930.     void StartOfAdding( struct BBSListItem * );
  2931.  
  2932.    FUNCTION
  2933.     Function for MsgParser to call before doing anything with UnArchiving
  2934.     or parsing. Locks your access to add a grab to this BBS. Makes sure
  2935.     2 or more processes do not add the same grab simultaneously.
  2936.  
  2937.     Each call to this function must be coupled with a call to 
  2938.     EndOfAdding().
  2939.  
  2940.    INPUTS
  2941.     bbs - Pointer to BBSListItem for BBS to start adding to.
  2942.  
  2943.    RESULT
  2944.  
  2945.    EXAMPLE
  2946.  
  2947.    NOTES
  2948.  
  2949.    BUGS
  2950.  
  2951.    SEE ALSO
  2952.     EndOfAdding()
  2953.  
  2954. bbsread.library/TypeFromBBS                       bbsread.library/TypeFromBBS
  2955.  
  2956.    NAME    
  2957.     TypeFromBBS - Returns the TypeListItem structure of a BBS.
  2958.  
  2959.    SYNOPSIS
  2960.     bbstype = TypeFromBBS( bbs )
  2961.     D0                      A0
  2962.  
  2963.     struct TypeListItem * TypeFromBBS( struct BBSListItem * );
  2964.  
  2965.    FUNCTION
  2966.     Returns the TypeListItem structure correspondig to the type of the bbs
  2967.     parameter. Use this function instead of searching the type list by 
  2968.     name for the correspondig TypeListItem.
  2969.  
  2970.     The TypeListItem structure returned is not a part of a list, so don't
  2971.     use the tl_Node. The structure must be deallocated with 
  2972.     FreeBRObject().
  2973.  
  2974.    INPUTS
  2975.     bbs - Pointer to the BBSListItem to get the type of.
  2976.  
  2977.    RESULT
  2978.     bbstype - Pointer to a TypeListItem for the bbs. Returns a NULL 
  2979.         pointer on failure.
  2980.  
  2981.    EXAMPLE
  2982.  
  2983.    NOTES
  2984.  
  2985.    BUGS
  2986.  
  2987.    SEE ALSO
  2988.  
  2989. bbsread.library/UnArchive                           bbsread.library/UnArchive
  2990.  
  2991.    NAME    
  2992.     UnArchive -- Unarchives an archive.
  2993.  
  2994.    SYNOPSIS
  2995.     error = UnArchive( archive, tagitems )
  2996.     D0                    A0       A1
  2997.  
  2998.     BOOL UnArchive( STRPTR, struct TagItem * );
  2999.  
  3000.     error = UnArchiveTags( archive, Tag1, ...)
  3001.  
  3002.     LONG UnArchiveTags( STRPTR, ULONG, ...);
  3003.  
  3004.     error = UnArchiveTagsNG( bbsreadbase, archive, Tag1, ...)
  3005.  
  3006.     LONG ArchiveTagsNG( struct ArcConfigItem *, STRPTR, ULONG, ...);
  3007.  
  3008.    FUNCTION
  3009.     This function unarchives an archive. The type of archiver to use is
  3010.     determined with the global configuration for the library. If no 
  3011.     archivetypes match this archive, the function will return failure.
  3012.     
  3013.     The ability to return failure when the unarchivers fail depends on
  3014.     how the unarchivers behave.
  3015.  
  3016.     Files which match no known archiver will be copied to the destination.
  3017.     Files with .txt extension and files without extension are treated as 
  3018.     text files and trailing numbers in the file name will be removed.
  3019.     (.txt extension will also be removed)
  3020.  
  3021.     The tags not understood are forwarded to dos.library/SystemTagList(). 
  3022.     Look at dos.library/SystemTagList() for futher information on tags.
  3023.  
  3024.    INPUTS
  3025.     archive - Pointer to path and name of archive to unarchive.
  3026.     tagitems - Pointer to TagItem array. See <dos/dostags.h>.  Both 
  3027.         dos.library/SystemTagList() tags and dos.library/CreateNewProc()
  3028.         tags may be passed.
  3029.  
  3030.     Here are the TagItem.ti_Tag values that are defined for
  3031.     UnArchive().
  3032.  
  3033.     UA_RetrieveFile - File to retrieve from archive is in (STRPTR) 
  3034.         ti_Data. More than one of this tag can be passed. If this tag is
  3035.         omitted, all files in archive will be unarchived.
  3036.     
  3037.     UA_DestDir - Path to destination directory is in (STRPTR) it_Data. 
  3038.         Default is to use current directory as destination directory.
  3039.  
  3040.     UA_ArchiverUsed - Where to put a pointer to the ArcConfigItem 
  3041.         structure for the archiver used in archive is pointed by 
  3042.         (struct ArcConfigItem **) ti_Data. The ArcConfigItem structure
  3043.         returned is not a part of a list, so don't use the ac_Node. The 
  3044.         structure must be deallocated with FreeBRObject(). You get a 
  3045.         NULL when no identifiable archiver is used or the function failed
  3046.         with -1.
  3047.  
  3048.    RESULT
  3049.     error    - 0 for success, result from archiver, or -1.  Note that on
  3050.         error, the caller is responsible for any filehandles or other
  3051.         things passed in via tags.
  3052.  
  3053.    EXAMPLE
  3054.  
  3055.    NOTES
  3056.  
  3057.    BUGS
  3058.     If an destination directory is spesified, the archive _must_ be given
  3059.     with an absolute path.
  3060.  
  3061.    SEE ALSO
  3062.  
  3063. bbsread.library/UniqueMsgFile                   bbsread.library/UniqueMsgFile
  3064.  
  3065.    NAME    
  3066.     UniqueMsgFile -- Create a unique message file (for events)
  3067.  
  3068.    SYNOPSIS
  3069.     filename = UniqueMsgFile( bbs, filepart, tagitems )
  3070.     D0                        A0      A1        A2
  3071.  
  3072.     STRPTR UniqueMsgFile( struct BBSListItem *, STRPTR *, 
  3073.         struct TagItem * );
  3074.  
  3075.     filename = UniqueMsgFileTags(bbs, filepart, Tag1, ... )
  3076.  
  3077.     STRPTR UniqueMsgFileTags( struct BBSListItem *, STRPTR *, 
  3078.         ULONG, ... );
  3079.  
  3080.    FUNCTION
  3081.     Creates a unique message file to be used with BREV_MsgFile and
  3082.     BREV_DetailedFileDescr tags. The file is created in the directory for
  3083.     the given bbs. If the type of the bbs has td_InitMsgFile set, the
  3084.     command will be used to initialize the msg file.
  3085.  
  3086.    INPUTS
  3087.     bbs - Pointer to BBSListItem for bbs.
  3088.     filepart - Pointer to STRPTR where to put the pointer to the file 
  3089.         part of the filename and path returned. The pointer returned in
  3090.         filepart must be used in the BREV_MsgFile and 
  3091.         BREV_DetailedFileDescr tags.
  3092.     tagitems - Pointer to TagItem array.
  3093.  
  3094.     Here are the TagItem.ti_Tag values that are defined for
  3095.     UniqueMsgFile():
  3096.  
  3097.     UMF_Extension - Extension to use for message file is pointed by 
  3098.         (STRPTR) ti_Data. The default extension is "msg".
  3099.  
  3100.     UMF_UseTag - What message tag the file should be used for is in 
  3101.         (ULONG) ti_Data. The default value is BREV_MsgFile.
  3102.  
  3103.     UMF_Event - What type of event this message should be used for is in
  3104.         (ULONG) ti_Data. The default event type is EVE_ENTERMSG.
  3105.  
  3106.    RESULT
  3107.     filename - Complete path to the created file. Returns NULL on 
  3108.         failure. The filename *must* be freed with a call to 
  3109.         FreeBRObject().
  3110.  
  3111.    EXAMPLE
  3112.  
  3113.    NOTES
  3114.     If you for some reason don't use the returned filename in any event
  3115.     tag, you should delete the file before you call FreeBRObject().
  3116.  
  3117.    BUGS
  3118.  
  3119.    SEE ALSO
  3120.  
  3121. bbsread.library/UpdateBREvent                   bbsread.library/UpdateBREvent
  3122.  
  3123.    NAME    
  3124.     UpdateBREvent -- Updates the flags of one event.
  3125.  
  3126.    SYNOPSIS
  3127.     success = UpdateBREvent( bbs, eventnr, tagitems )
  3128.     D0                       A0     D1        A1
  3129.  
  3130.     BOOL UpdateBREvent( struct BBSListItem *, ULONG, struct TagItem * );
  3131.  
  3132.     success = UpdateBREventTags( bbs, eventnr, Tag1, ... )
  3133.  
  3134.     BOOL UpdateBREventTags( struct BBSListItem *, ULONG, ULONG, ... );
  3135.  
  3136.    FUNCTION
  3137.     Lets you update the flags of an event. This function will set the 
  3138.     BDF_EVENTS_CHANGED flag for this BBS. The priority of the flags are:
  3139.     (highest to lowest) EDF_DELETED, EDF_DONE, EDF_ERROR, EDF_FREEZE, 
  3140.     EDF_PACKED.
  3141.  
  3142.    INPUTS
  3143.     bbs - BBS to update event on.
  3144.     eventnr - Eventnr to update.
  3145.     tagitems - Pointer to TagItem array.
  3146.  
  3147.     Here are the TagItem.ti_Tag values that are defined for
  3148.     UpdateBREvent().
  3149.  
  3150.     UBRE_SetDeleted - Set EDF_DELETED flag if (BOOL) ti_Data is TRUE. 
  3151.         Will clear EDF_PACKED and EDF_ERROR flags.
  3152.  
  3153.     UBRE_ClearDeleted - Clear EDF_DELETED flag if (BOOL) ti_Data is TRUE.
  3154.  
  3155.     UBRE_SetPacked - Set EDF_PACKED flag if (BOOL) ti_Data is TRUE. This
  3156.         flag is for use against BBS'es where events are sent in packages.
  3157.         Set this flag when the event is packed into the package. Then use
  3158.         this flag to delete the events done when the package is 
  3159.         successfully sent. This makes it possible to repack a package 
  3160.         easily without loosing any events.
  3161.  
  3162.     UBRE_ClearPacked - Clear EDF_PACKED flag if (BOOL) ti_Data is TRUE.
  3163.  
  3164.     UBRE_SetError - Set EDF_ERROR flag if (BOOL) ti_Data is TRUE. Set
  3165.         this flag if the event couldn't be executed. While this flag is
  3166.         set, event packers should ignore this event. Will clear the 
  3167.         EDF_PACKED flag.
  3168.  
  3169.     UBRE_ClearError - Clear EDF_ERROR flag if (BOOL) ti_Data is TRUE.
  3170.  
  3171.     UBRE_SetDone - Set EDF_DONE flag if (BOOL) ti_Data is TRUE. This flag
  3172.         should be set when an event is successfully executed. Events 
  3173.         marked with this flag will be removed from the datafile when packing
  3174.         the eventdata. 
  3175.  
  3176.     UBRE_ClearDone - Clear EDF_DONE flag if (BOOL) ti_Data is TRUE.
  3177.  
  3178.     UBRE_SetFreeze - Set EDF_FREEZE flag if (BOOL) ti_Data is TRUE. When 
  3179.         his flag is set, event packers should ignore this event. Will 
  3180.         clear the EDF_PACKED flag.
  3181.  
  3182.     UBRE_ClearFreeze - Clear EDF_FREEZE flag if (BOOL) ti_Data is TRUE.
  3183.  
  3184.     UBRE_Activate - Activate event if (BOOL) ti_Data is TRUE. Will clear
  3185.         EDF_FREEZE, EDF_DONE, EDF_ERROR, EDF_PACKED and EDF_DELETED 
  3186.         flags.
  3187.  
  3188.    RESULT
  3189.     success - Boolean.
  3190.  
  3191.    EXAMPLE
  3192.  
  3193.    NOTES
  3194.     bbs->bl_Data->bd_Flags and bbs->bl_Data->bd_NumEvents will be updated
  3195.     by UpdateBREvent().
  3196.  
  3197.    BUGS
  3198.  
  3199.    SEE ALSO
  3200.     WriteBREvent()
  3201.  
  3202. bbsread.library/UpdateBRMessage               bbsread.library/UpdateBRMessage
  3203.  
  3204.    NAME    
  3205.     UpdateBRMessage -- Updates the flags of one message.
  3206.  
  3207.    SYNOPSIS
  3208.     success = UpdateBRMessag( conf, msgnr, tagitems )
  3209.     D0                         A0    D1        A1
  3210.  
  3211.     BOOL UpdateBRMessage( struct ConfListItem *, ULONG, struct TagItem * );
  3212.  
  3213.     success = UpdateBRMessageTags( conf, msgnr, Tag1, ... )
  3214.  
  3215.     BOOL UpdateBRMessageTags( struct ConfListItem *, ULONG, ULONG, ... );
  3216.  
  3217.    FUNCTION
  3218.     Lets you update the flags of a message. 
  3219.  
  3220.    INPUTS
  3221.   conf - Pointer to conference where to update message.
  3222.     msgnr - Number of the message to .
  3223.     tagitems - Pointer to TagItem array.
  3224.  
  3225.     Here are the TagItem.ti_Tag values that are defined for
  3226.     UpdateBRMessage().
  3227.  
  3228.     UBRM_SetDelete - Set MDF_DELETED flag if (BOOL) ti_Data is TRUE.
  3229.         Will also unmark the message if it is marked.
  3230.  
  3231.     UBRM_ClearDelete - Clear MDF_DELETED flag if (BOOL) ti_Data is TRUE.
  3232.         Will fail if MDF_UNRECOVERABLE flag is set.
  3233.  
  3234.     UBRM_SetKeep - Set MDF_KEEP flag if (BOOL) ti_Data is TRUE.
  3235.  
  3236.     UBRM_ClearKeep - Clear MDF_KEEP flag if (BOOL) ti_Data is TRUE.
  3237.  
  3238.     UBRM_SetReplied - Set MDF_REPLIED flag if (BOOL) ti_Data is TRUE.
  3239.  
  3240.     UBRM_ClearReplied - Clear MDF_REPLIED flag if (BOOL) ti_Data is TRUE.
  3241.  
  3242.     UBRM_SetUrgent - Set MDF_URGENT flag if (BOOL) ti_Data is TRUE.
  3243.     
  3244.     UBRM_ClearUrgent - Clear MDF_URGENT flag if (BOOL) ti_Data is TRUE.
  3245.     
  3246.     UBRM_SetImportant - Set MDF_IMPORTANT flag if (BOOL) ti_Data is TRUE.
  3247.  
  3248.     UBRM_ClearImportant - Clear MDF_IMPORTANT flag if (BOOL) ti_Data is 
  3249.         TRUE.
  3250.  
  3251.     URBM_SetHazeLevel - Haze Level to set for message is in (ULONG) 
  3252.         ti_Data. Possible haze levels are 0 to 3.
  3253.             0 - No hazing.
  3254.             1 - The message will be kept at least as long as 
  3255.                 GlobalConfig->gc_HazeLevel1 seconds.
  3256.             2 - The message will be kept at least as long as 
  3257.                 GlobalConfig->gc_HazeLevel2 seconds.
  3258.             3 - The message will be kept at least as long as 
  3259.                 GlobalConfig->gc_HazeLevel3 seconds.
  3260.  
  3261.     URBM_SetConfidential - Set MDF_CONFIDENTIAL flag if (BOOL) ti_Data is
  3262.         TRUE.
  3263.  
  3264.     URBM_ClearConfidential - Clear MDF_CONFIDENTIAL flag if (BOOL) ti_Data
  3265.         is TRUE.
  3266.  
  3267.    RESULT
  3268.     success - Boolean.
  3269.  
  3270.    EXAMPLE
  3271.  
  3272.    NOTES
  3273.  
  3274.    BUGS
  3275.  
  3276.    SEE ALSO
  3277.  
  3278. bbsread.library/UpdateDataStruct             bbsread.library/UpdateDataStruct
  3279.  
  3280.    NAME    
  3281.     UpdateDataStruct -- Updates data structures.
  3282.  
  3283.    SYNOPSIS
  3284.     fail = UpdateDataStruct( tagitems )
  3285.     D0                          A0
  3286.  
  3287.     struct TagItem * UpdateDataStruct( struct TagItem * );
  3288.  
  3289.     fail = UpdateDataStructTags( Tag1, ... )
  3290.  
  3291.     struct TagItem * UpdateDataStructTags( ULONG, ... );
  3292.  
  3293.    FUNCTION
  3294.     Function for updating data structures. This metod involves less
  3295.     overhead than freeing an getting a new data structure. If you don't
  3296.     use the UD_RemoveDeleted tag, you will be garanteed that all entrys 
  3297.     in the lists are still there. The entrys in a list may have changed 
  3298.     order, and there may have been inserted new nodes.
  3299.  
  3300.    INPUTS
  3301.     tagitems - Pointer to TagItem array.
  3302.  
  3303.     Here are the TagItem.ti_Tag values that are defined for
  3304.     UpdateDataStruct().
  3305.  
  3306.     UD_ConfList - Conference list to update datastructures in is pointed
  3307.         by (List *) ti_Data. 
  3308.  
  3309.     UD_ConfItem - ConfListItem structure to update is in (struct 
  3310.         ConfListItem *) ti_Data.
  3311.  
  3312.     UD_BBSList - BBS list to update datastructures in is pointed by 
  3313.         (List *) ti_Data.
  3314.  
  3315.     UD_BBSItem - BBSListItem structure to update is in (struct 
  3316.         BBSListItem *) ti_Data.
  3317.  
  3318.     UD_FAreaList - File area list to update datastructures in is pointed
  3319.         by (List *) ti_Data.
  3320.  
  3321.     UD_FAreaItem - FAreaListItem structure to update is in (struct 
  3322.         FAreaListItem *) ti_Data.
  3323.  
  3324.     UD_RemoveDeleted - Remove deleted entries in lists if (BOOL) ti_Data
  3325.         is TRUE. Default is FALSE. 
  3326.  
  3327.    RESULT
  3328.     fail - NULL on success. On failure, it points to the tag which caused
  3329.         the failure.
  3330.  
  3331.    EXAMPLE
  3332.  
  3333.    NOTES
  3334.  
  3335.    BUGS
  3336.  
  3337.    SEE ALSO
  3338.  
  3339. bbsread.library/WriteBREvent                     bbsread.library/WriteBREvent
  3340.  
  3341.    NAME    
  3342.     WriteBREvent -- Adds a event to a bbs.
  3343.  
  3344.    SYNOPSIS
  3345.     eventnr = WriteBREvent( bbs, event, tagitems )
  3346.     D0                     A0    D1      A1
  3347.  
  3348.     ULONG WriteBREvent( struct BBSListItem *, ULONG, struct TagItem * );
  3349.  
  3350.     eventnr = WriteBREventTags( bbs, event, Tag1, ... )
  3351.  
  3352.     ULONG WriteBREventTags( struct BBSListItem *, ULONG, ULONG, ... );
  3353.  
  3354.    FUNCTION
  3355.     This function adds a event to the list of events to be done on the
  3356.     next call to the BBS.
  3357.  
  3358.     Available eventtypes and what tags that are allowed to use with the
  3359.     different event types are defined in the BBSType for this BBS. Be 
  3360.     sure to pass all the NeedTags with apropriate values. This function  
  3361.     will set the BDF_EVENTS_CHANGED flag for this BBS.
  3362.  
  3363.    INPUTS
  3364.     bbs - Pointer to the BBSListItem for the bbs to add the event to.
  3365.     event - What type of event to add. For a list of types see 
  3366.         <libraries/bbsread.h>
  3367.     tagitems - Pointer to TagItem array.
  3368.  
  3369.     Here are the TagItem.ti_Tag values that are defined for
  3370.     WriteBREvent().
  3371.  
  3372.     BREV_ToName - Name to send to is pointed by (STRPTR) ti_Data.
  3373.     BREV_ToAddr - Address to send to is pointed by (STRPTR) ti_Data.
  3374.     BREV_Subject - Subject of message is pointed by (STRPTR) ti_Data. 
  3375.         Must not be longer than TypeData->td_SubjectLength.
  3376.  
  3377.     BREV_Conference - Name of conference is pointed by (STRPTR) ti_Data.
  3378.     BREV_RefNr - The number of the message to reply to is in (ULONG) 
  3379.         ti_Data. The message number is the number this message has in the
  3380.         local database.
  3381.  
  3382.     BREV_RefOrginalNr - Number of the message on BBS to reply to is in
  3383.         (ULONG) ti_Data.
  3384.  
  3385.     BREV_RefId - The idstring of the message to reply to is pointed by 
  3386.         (STRPTR) ti_Data.
  3387.  
  3388.     BREV_MsgFile - Name of file with text is pointed by (STRPTR) ti_Data.
  3389.         Filename is relative to bbs->bl_BBSPath. Each line in this file 
  3390.         should not be longer than TypeData->td_LineLength.
  3391.  
  3392.     BREV_Private - Message should be flagged as private if (BOOL) ti_Data
  3393.         is TRUE. Default value is FALSE.
  3394.  
  3395.     BREV_LocalFile - Path and name of local file is in (STRPTR) ti_Data.
  3396.     BREV_Directory - Directory for file to up/down load is in (STRPTR) 
  3397.         ti_Data. This is the remote directory.
  3398.  
  3399.     BREV_FileName - Name of file to upload/download is pointed by (STRPTR)
  3400.         ti_Data. This is the remote filename. It must not be longer than 
  3401.         TypeData->td_FileNameLen.
  3402.  
  3403.     BREV_DownloadNotify - Notify on download if (BOOL) ti_Data is TRUE. 
  3404.         Default value is FALSE.
  3405.  
  3406.     BREV_FileDescr - File description is pointed by (STRPTR) ti_Data. Must
  3407.         not be longer than TypeData->td_FileDescrLen.
  3408.  
  3409.     BREV_DetailedFileDescr - Name of file with detailed file description
  3410.         is pointed by (STRPTR) ti_Data. Filename is relative to
  3411.         bbs->bl_BBSPath. Each line in this file should not be longer than
  3412.         TypeData->td_LineLength.
  3413.  
  3414.     BREV_FromMessageNr - Message number to start at is in (ULONG) ti_Data.
  3415.     BREV_ToMessageNr - Message number to end at is in (ULONG) ti_Data.
  3416.     BREV_CommandString - Command string is in (STRPTR) ti_Data.
  3417.     BREV_Boolean - Boolean value is in (BOOL) ti_Data.
  3418.     BREV_Date - Time in seconds since 1.January 1978 is in (ULONG) 
  3419.         ti_Data.
  3420.  
  3421.     BREV_PGPSignID - Id for key to sign with is pointed by (STRPTR) 
  3422.         ti_Data. It's preferable that the keyid is used to identify a 
  3423.         key. (e.g. 0x5B4231FD) Using a '*' will sign with the first key
  3424.         in the secret keyring.
  3425.  
  3426.     BREV_PGPEncryptID - Id for key(s) to encrypt with is pointed by 
  3427.         (STRPTR) ti_Data. It's preferable that the keyid is used to 
  3428.         identify a key. (e.g. 0x5B4231FD) If more than one key are used
  3429.         to encrypt, the id for each key should be separeated with a space.
  3430.  
  3431.     BREV_RefConference - Name of the conferene of the message to reply to
  3432.         is in (STRPTR) ti_Data. This tag is to be used when replying
  3433.         messages to other conferences than the conference of the orginal
  3434.         message. Should ony be used when the bbs type has the
  3435.         TDF_GLOBAL_REPLIES flag set.
  3436.  
  3437.     BREV_Urgent - Flag event as urgent if (BOOL) ti_Data is TRUE. Default
  3438.         value is FALSE.
  3439.  
  3440.     BREV_Important - Flag event as important if (BOOL) ti_Data is TRUE.
  3441.         Default value is FALSE.
  3442.  
  3443.     BREV_Confidential - Flag event as confidential if (BOOL) ti_Data is
  3444.         TRUE. Default value is FALSE.
  3445.  
  3446.     BREV_ReturnReceipt - Set return reciept flagg for event if (BOOL)
  3447.         ti_Data is TRUE. Default value is FALSE.
  3448.  
  3449.     BREV_Encode8bit - Encode outgoing text if it is 8 bit and (BOOL)
  3450.         ti_Data is TRUE. Default value is FALSE.
  3451.  
  3452.     WBREV_UpdateEventNr - Update event with event number (ULONG) ti_Data.
  3453.         All old tags for this event will be discarded. Will clear the
  3454.         flags set for this event.
  3455.  
  3456.    RESULT
  3457.     eventnr - The number the event got in the database. Returns 0 on 
  3458.         failure.
  3459.  
  3460.    EXAMPLE
  3461.  
  3462.    NOTES
  3463.     All strings is considerd to be in ISO charset.
  3464.  
  3465.     bbs->bl_Data->bd_LastEvent, bbs->bl_Data->bd_NumEvents and 
  3466.     bbs->bl_Data->bd_Flags will be updated by WriteBREvent().
  3467.  
  3468.    BUGS
  3469.  
  3470.    SEE ALSO
  3471.  
  3472. bbsread.library/WriteBRFile                       bbsread.library/WriteBRFile
  3473.  
  3474.    NAME    
  3475.     WriteBRFile -- Write an entry to the file database.
  3476.  
  3477.    SYNOPSIS
  3478.     filenr = WriteBRFile( farea, tagitems )
  3479.     D0                    A0       A1
  3480.  
  3481.     ULONG WriteBRFile( struct FAreaListItem *, struct TagItem * );
  3482.  
  3483.     filenr = WriteBRFileTags( farea, Tag1, ... )
  3484.  
  3485.     ULONG WriteBRFileTags( struct FAreaListItem *, ULONG, ... );
  3486.  
  3487.    FUNCTION
  3488.     Writes an entry to a file area in the file database for a bbs.
  3489.  
  3490.    INPUTS
  3491.     farea - Pointer to FAreaListItem for file area to write file to.
  3492.  
  3493.     tagitems - Pointer to TagItem array.
  3494.  
  3495.     Here are the TagItem.ti_Tag values that are defined for
  3496.     WriteBRFile().
  3497.  
  3498.     BRFILE_Name - The name the file is identified with on the bbs is 
  3499.         pointed by (STRPTR) ti_Data. This tag must be supplied when 
  3500.         adding or updating file tags.
  3501.  
  3502.     BRFILE_Date - The date the file has on the bbs is in (ULONG) ti_Data. 
  3503.         The time is in seconds since 1.January 1978.
  3504.     
  3505.     BRFILE_Size - The size of the file is in (ULONG) ti_Data.
  3506.  
  3507.     BRFILE_Description - A (short) description of the file is in a NULL
  3508.         terminated STRPTR array pointed by (STRPTR *) ti_Data. Each STRPTR
  3509.         represents a line of text. No newline characters are allowed.
  3510.  
  3511.     BRFILE_Downloads - Number of times the file has been downloaded from
  3512.         the bbs is in (ULONG) ti_Data.
  3513.  
  3514.     WBRF_UpdateFileNr - Update the file with filenumber (ULONG) ti_Data. 
  3515.         All old tags for this file will be discarded.
  3516.  
  3517.     WBRF_DeleteFile - Mark the file with file number supplied in the 
  3518.         WBRF_UpdateFileNr tag as deleted if (BOOL) ti_Data is TRUE.
  3519.         This tag is ignored when the WBRF_UpdateFileNr tag is not 
  3520.         supplied.
  3521.  
  3522.    RESULT
  3523.     filenr - The number the file got in the database. Returns 0 on 
  3524.         failure.
  3525.  
  3526.    EXAMPLE
  3527.  
  3528.    NOTES
  3529.  
  3530.    BUGS
  3531.  
  3532.    SEE ALSO
  3533.  
  3534. bbsread.library/WriteBRIEFMsg                   bbsread.library/WriteBRIEFMsg
  3535.  
  3536.    NAME    
  3537.     WriteBRIEFMsg -- Write a message in BRIEF.
  3538.  
  3539.    SYNOPSIS
  3540.     error = WriteBRIEFMsg( fileid, conf, msgnr )
  3541.     D0                      A0     A1    D0
  3542.     
  3543.     BOOL WriteBRIEFMsg( APTR, struct ConfListItem *, ULONG );
  3544.  
  3545.    FUNCTION
  3546.     Writes a message in BRIEF to a file opened by BufBROpen(). 
  3547.  
  3548.    INPUTS
  3549.     fileid - APTR to BBSRead file handler.
  3550.     conf - Pointer to ConfListItem for conference.
  3551.     msgnr - Message number to write.
  3552.  
  3553.    RESULT
  3554.     error - Boolean.
  3555.  
  3556.    EXAMPLE
  3557.  
  3558.    NOTES
  3559.  
  3560.    BUGS
  3561.  
  3562.    SEE ALSO
  3563.  
  3564. bbsread.library/WriteBRKill                       bbsread.library/WriteBRKill
  3565.  
  3566.    NAME    
  3567.     WriteBRKill -- Write an entry to the kill database.
  3568.  
  3569.    SYNOPSIS
  3570.     killnr = WriteBRKill( bbs, tagitems )
  3571.     D0                    A0       A1
  3572.  
  3573.     ULONG WriteBRKill( struct BBSListItem *, struct TagItem * );
  3574.  
  3575.     killnr = WriteBRKillTags( bbs, Tag1, ... )
  3576.  
  3577.     ULONG WriteBRKillTags( struct BBSListItem *, ULONG, ... );
  3578.  
  3579.    FUNCTION
  3580.     Writes an entry to the kill database for aa bbs. This kill database
  3581.     is used during message adding. Killed messages will be added to the 
  3582.     database, but will not be marked as unread. A message will be killed
  3583.     if the message data matches *one* of the kills for a bbs. Kills can 
  3584.     also be used to set message flags, see tags below.
  3585.  
  3586.    INPUTS
  3587.     bbs - Pointer to BBSListItem for bbs to wtitekill to.
  3588.  
  3589.     tagitems - Pointer to TagItem array.
  3590.  
  3591.     Here are the TagItem.ti_Tag values that are defined for
  3592.     WriteBRKill().
  3593.  
  3594.     BRMSG_#? - All normal message tags can be used in a kill. Standard 
  3595.         AmigaDos wildcards can be used in all string tags. In string array
  3596.         tags all given lines must match one line in the corresponding tag
  3597.         in the message. At least one message tag must be supplied to add
  3598.         a kill.
  3599.  
  3600.     BRKILL_Conference - Which conference to kill in is pointed by (STRPTR)
  3601.         ti_Data. Standard AmigaDos wildcards can be used. Default value 
  3602.         for this tag is '#?'.
  3603.  
  3604.     BRKILL_Private - The kill will only match private messages if (BOOL)
  3605.         ti_Data is TRUE. If (BOOL) ti_Data is FALSE, the kill will only 
  3606.         match non-private messages. The default is not to regard the 
  3607.         private flag.
  3608.  
  3609.     WBRK_UpdateKillNr - Update the kill will kill number (ULONG) ti_Data.
  3610.         All old tags and flags for this kill will be discarded.
  3611.  
  3612.     WBRK_DeleteKill - Mark the kill with the kill number supplied in the
  3613.         WBRK_UpdateKillNr tag  as deleted if (BOOL) ti_Data is TRUE.
  3614.  
  3615.     WBRK_MarkKeep - Mark messages matching the kill with MDF_KEEP if 
  3616.         (BOOL) ti_Data is TRUE. The message will be marked as unread.
  3617.  
  3618.     WBRK_MarkUrgent - Mark messages matching the kill with MDF_URGENT if
  3619.         (BOOL) ti_Data is TRUE. The message will be marked as unread.
  3620.  
  3621.     WBRK_MarkImportant - Mark messages matching the kill with 
  3622.         MDF_IMPORTANT if (BOOL) ti_Data is TRUE. The message will be 
  3623.         marked as unread.
  3624.  
  3625.     WBRK_MarkHazeLevel - Mark messages matching the kill with the haze
  3626.         level according to (ULONG) ti_Data. Possible haze levels are 0 
  3627.         to 3. The message will be marked as unread. 
  3628.             0 - No hazing.
  3629.             1 - The message will be kept at least as long as 
  3630.                 GlobalConfig->gc_HazeLevel1 seconds.
  3631.             2 - The message will be kept at least as long as 
  3632.                 GlobalConfig->gc_HazeLevel2 seconds.
  3633.             3 - The message will be kept at least as long as 
  3634.                 GlobalConfig->gc_HazeLevel3 seconds.
  3635.  
  3636.    RESULT
  3637.     killnr - The number the kill got in the database. Returns 0 on 
  3638.         failure.
  3639.  
  3640.    EXAMPLE
  3641.  
  3642.    NOTES
  3643.  
  3644.    BUGS
  3645.  
  3646.    SEE ALSO
  3647.  
  3648. bbsread.library/WriteBRMessage                 bbsread.library/WriteBRMessage
  3649.  
  3650.    NAME    
  3651.     WriteBRMessage -- Writes a messsage to a conference.
  3652.  
  3653.    SYNOPSIS
  3654.     msgnr = WriteBRMessage( conf, tagitems )
  3655.     D0                       A0      A1
  3656.  
  3657.     ULONG WriteBRMessage( struct ConfListItem *, struct TagItem * );
  3658.  
  3659.     msgnr = WriteBRMessageTags( conf, Tag1, ... )
  3660.  
  3661.     ULONG WriteBRMessageTags( struct ConfListItem *, ULONG, ... );
  3662.  
  3663.    FUNCTION
  3664.     This funtions Writes a message to a conference. 
  3665.  
  3666.     The multiple parts in multipart messages should be put in the taglist
  3667.     in the order they should be presented. BRMSG_Text should always
  3668.     contain the first text part of the message.
  3669.  
  3670.    INPUTS
  3671.     conf - Pointer to the ConfListItem for the conference to Write the 
  3672.         message to.
  3673.     
  3674.     tagitems - Pointer to TagItem array.
  3675.  
  3676.     Here are the TagItem.ti_Tag values that are defined for
  3677.     WriteBRMessage().
  3678.  
  3679.     BRMSG_FromName - The name of the user who this message is written by
  3680.         is pointed by (STRPTR) ti_Data. This is only the 'real name' of 
  3681.         the author. This tag must be supplied.
  3682.  
  3683.     BRMSG_FromAddr - The address of the user this message is written by is
  3684.         pointed by (STRPTR) ti_Data. This is the author's net-address. 
  3685.         The name needn't redundantly be repeated in this field, if it's 
  3686.         already in BRMSG_FromName. Only use this if the message is in a
  3687.         network conference.
  3688.  
  3689.     BRMSG_ToName - The name of the user who this message is to is pointed
  3690.         by (STRPTR) ti_Data. This is only the 'real name'. When adding 
  3691.         messages with no receiver (to all), use a NULL pointer in ti_Data
  3692.         or omit this tag.
  3693.  
  3694.     BRMSG_ToAddr - The address of the user this message is to is pointed by
  3695.         (STRPTR) ti_Data. This is the addressed person's net-address. The 
  3696.         name needn't redundantly be repeated in this field, if it's 
  3697.         already in BRMSG_ToName. Only use this if the message is in a 
  3698.         network conference. This tag can only be used when you use the 
  3699.         BRMSG_ToName tag.
  3700.  
  3701.     BRMSG_MsgID - The message ID string is pointed by (STRPTR) ti_Data.
  3702.         Use this tag when the message has a string as idenificator. This
  3703.         id is considered to be unique.
  3704.  
  3705.     BRMSG_OrginalNr - The number this message has on the BBS is in (ULONG)
  3706.         ti_Data. Use this tag when the message has a number as 
  3707.         identificator.
  3708.  
  3709.     BRMSG_RefID - If this message is an answer (STRPTR) ti_Data points to 
  3710.         the ID string for the message this message refer to. 
  3711.  
  3712.     BRMSG_RefNr - If this message is an answer (ULONG) ti_Data contains
  3713.         the messagenumber this message refer to. The messagenumber is the
  3714.         number the refered message has on the BBS.
  3715.         
  3716.     BRMSG_CreationDate - The time the message was created is in (ULONG)
  3717.         ti_Data. The time is in seconds since 1.January 1978.
  3718.  
  3719.     BRMSG_CreationDateTxt - The time the message was created is in 
  3720.         (STRPTR) ti_Data. The formating of the string is free. Use this 
  3721.         when it is impossible to use BRMSG_CreationDate
  3722.  
  3723.     BRMSG_Subject - The subject of the message is pointed by (STRPTR) 
  3724.         ti_Data. This tag must be supplied.
  3725.  
  3726.     BRMSG_ReplyConf - The name of the conference a reply to this message
  3727.         should be put is pointed by (STRPTR) ti_Data. If the message is 
  3728.         private, it should only be moved if it is possible to have private
  3729.         messages in this conference.
  3730.     
  3731.     BRMSG_ReplyName - Name of the user a reply of this message should go
  3732.         to is in (STRPTR) ti_Data. Same format as BRMSG_ToName.
  3733.  
  3734.     BRMSG_ReplyAddr - The address of the user a reply of this message 
  3735.         should go to is in (STRPTR) ti_Data. Same format as BRMSG_ToAddr.
  3736.  
  3737.     BRMSG_Comment - Comments concerning this message is in a NULL 
  3738.         terminated STRPTR array pointed by (STRPTR *) ti_Data. Each STRPTR
  3739.         represents a line of text. No newline characters are allowed. 
  3740.         Header information not used in anoter tag could be put here.
  3741.  
  3742.     BRMSG_Text - The text in this message is in a NULL terminated STRPTR
  3743.         array pointed by (STRPTR *) ti_Data. Each STRPTR represents a line
  3744.         of text. No newline characters are allowed. This tag must be
  3745.         supplied, but can point to a 0 line STRPTR array. Any information
  3746.         that do not belong to the orginal text must not be put here. The text
  3747.         may be of any size. Lines may be of any length. It is up to the
  3748.         reader program to wrap lines if needed.
  3749.  
  3750.     BRMSG_BinaryPart - File name for file containing the binary part is
  3751.         pointed by (STRPTR) ti_Data. Paths should be relative to
  3752.         bbs->bl_BBSPath, but absolute paths are alloved. This tag can be
  3753.         used more than once in a message.
  3754.  
  3755.     BRMSG_BinaryPartDesc - A description of the binary part is pointed by
  3756.         (STRPTR) ti_Data. The N'th use of this tag describes the n'th use
  3757.         of the BRMSG_BinaryPart tag. This tag must be used each time the
  3758.         BRMSG_BinaryPart tag is used.
  3759.  
  3760.     BRMSG_BinaryPartComment - Comments concerning a binary part is in a
  3761.         NULL terminated STRPTR array pointed by (STRPTR *) ti_Data. Each
  3762.         STRPTR represents a line of text. No newline characters are
  3763.         allowed. The N'th use of this tag comments the n'th use of the
  3764.         BRMSG_BinaryPart tag. This tag must be used each time the
  3765.         BRMSG_BinaryPart tag is used. It's legal for the comment to
  3766.         contain 0 lines.
  3767.  
  3768.     BRMSG_TextPart - If the message contains more than one text part,
  3769.         the parts beyond the first part should use this tag. The text is
  3770.         in a NULL terminated STRPTR array pointed by (STRPTR *) ti_Data.
  3771.         Each STRPTR represents a line of text. No newline characters are
  3772.         allowed. This tag can be used more than once in a message.
  3773.  
  3774.     BRMSG_TextPartComment - Comments concerning a text part is in a NULL
  3775.         terminated STRPTR array pointed by (STRPTR *) ti_Data. Each STRPTR
  3776.         represents a line of text. No newline characters are allowed. The
  3777.         N'th use of this tag comments the n'th use of the BRMSG_TextPart
  3778.         tag. This tag must be used each time the BRMSG_TextPart tag is
  3779.         used. It's legal for the comment to contain 0 lines.
  3780.  
  3781.     BRMSG_MsgPart - A tag array for a message part is pointed by (TagItem
  3782.         *) ti_Data. The tagarry can contain *all* message tags, and *must*
  3783.         contain at least one BRMSG_#? tag. This tag can be used more than
  3784.         once in a message.
  3785.  
  3786.     WBRMSG_MarkMessage - Message will be marked if (BOOL) ti_Data is TRUE.
  3787.         NB: Default is TRUE. Messages written by 
  3788.         bd_UserName/gc_GlobalUserName which not are to bd_UserName and 
  3789.         messages which matches a normal kill will not be marked.
  3790.  
  3791.     WBRMSG_Private - Message is flaged as private if (BOOL) ti_Data is 
  3792.         TRUE. Default is FALSE.
  3793.  
  3794.     WBRMSG_Read - Message is flagged as read by reciever if (BOOL) 
  3795.         ti_Data is TRUE. Default is FALSE.
  3796.  
  3797.     WBRMSG_Urgent - Message is flagged as urgent if (BOOL) ti_Data is 
  3798.         TRUE. Default is FALSE.
  3799.  
  3800.     WBRMSG_Important - Message is flagged as important if (BOOL) ti_Data 
  3801.         is TRUE. Default is FALSE.
  3802.     
  3803.     WBRMSG_Confidential - Message is flagged as confidential if (BOOL)
  3804.         ti_Data is TRUE. Default is FALSE.
  3805.  
  3806.     WBRMSG_ToFromUserStatus - The status of the MDF_TO_USER and
  3807.         MDF_FROM_USER flags this message should have is in (LONGBITS)
  3808.         ti_Data. When this tag is used, the sender or receiver will *not*
  3809.         be matched against the name and/or address of the user. When using
  3810.         this tag, the parser is responsible for checking if the message is
  3811.         to or from the user. 
  3812.  
  3813.    RESULT
  3814.     msgnr - The number the message got in the database. Returns 0 on 
  3815.         failure.
  3816.  
  3817.    EXAMPLE
  3818.     Some   examples   for  splitting  addresses  in  'Name'  and
  3819.     'Address':
  3820.  
  3821.     RFC:
  3822.  
  3823.     "Martin Horneffer <maho@balrog.dfv.rwth-aachen.de>"
  3824.     -> name: "Martin Horneffer"
  3825.        address: "maho@balrog.dfv.rwth-aachen.de"
  3826.  
  3827.     "horneff@pool.informatik.rwth-aachen.de (Martin Horneffer)"
  3828.     -> name: "Martin Horneffer"
  3829.        address: "horneff@pool.informatik.rwth-aachen.de"
  3830.  
  3831.     "horneff@pool.informatik.rwth-aachen.de"
  3832.     -> name: "horneff"
  3833.        address: "horneff@pool.informatik.rwth-aachen.de"
  3834.  
  3835.     FidoNet:
  3836.  
  3837.     "Martin Horneffer at 2:242/7.9"
  3838.     -> name: "Martin Horneffer"
  3839.        address: "2:242/7.9"
  3840.  
  3841.     "Joerg Gutzke at 2:242/7"
  3842.     -> name: "Joerg Gutzke"
  3843.        address: "2:242/7"
  3844.  
  3845.    NOTES
  3846.     All strings is considered to be in the BRCS_ISO charset. To get the 
  3847.     charset defined for this Conf/BBS/BBSType use ConfCharset().
  3848.  
  3849.    BUGS
  3850.  
  3851.    SEE ALSO
  3852.  
  3853. bbsread.library/WriteBRUser                       bbsread.library/WriteBRUser
  3854.  
  3855.    NAME    
  3856.     WriteBRUser -- Writes a user to a bbs.
  3857.  
  3858.    SYNOPSIS
  3859.     usernr = WriteBRUser( bbs, tagitems )
  3860.     D0                     A0      A1
  3861.  
  3862.     ULONG WriteBRUser( struct BBSListItem *, struct TagItem * );
  3863.  
  3864.     usernr = WriteBRUserTags( bbs, Tag1, ... )
  3865.  
  3866.     ULONG WriteBRUserTags( struct BBSListItem *, ULONG, ... );
  3867.  
  3868.    FUNCTION
  3869.     Writes a user to the userdatabase for a bbs.
  3870.  
  3871.    INPUTS
  3872.     bbs - Pointer to BBSListItem for bbs to write user to.
  3873.  
  3874.     tagitems - Pointer to TagItem array.
  3875.  
  3876.     Here are the TagItem.ti_Tag values that are defined for
  3877.     WriteBRUser().
  3878.  
  3879.     BRUSR_Name - The name the user has om this bbs is pointed by (STRPTR)
  3880.         ti_Data. This tag must be supplied when adding or updating a user.
  3881.  
  3882.     BRUSR_Address - The address the user has on this bbs is pointed by 
  3883.         (STRPTR) ti_Data. 
  3884.  
  3885.     BRUSR_Alias - Alias to use for refering to this user is pointed by
  3886.         (STRPTR) ti_Data. This alias can be used to look up this user 
  3887.         in the database.
  3888.  
  3889.     BRUSR_Comment - A comment that can be attatched to this user is in a 
  3890.         NULL terminated STRPTR array pointed by (STRPTR *) ti_Data. Each
  3891.         STRPTR represents a line of text. No newline characters are 
  3892.         allowed.
  3893.  
  3894.     BRUSR_Encode8BitMsg - Encode 8 bit private messages to this user if
  3895.         (BOOL) ti_Data is TRUE. Default is FALSE. Only applicable when the
  3896.         TDF_SUPPORTS_ENCODE_8BIT_MAIL flag is set for the bbstype of this
  3897.         bbs.
  3898.  
  3899.     BRUSR_PGPkeyID - The PGP key ID for this users PGP key is pointed by
  3900.         (STRPTR) ti_Data.
  3901.  
  3902.     WBRUSR_UpdateUserNr - Update the user with user number (ULONG) 
  3903.         ti_Data. All old tags for this user will be discarded.
  3904.  
  3905.     WBRUSR_DeleteUser - Mark the user with the usernumber supplied in the
  3906.         WBRUSR_UpdateUserNr tag as deleted if (BOOL) ti_Data is TRUE. 
  3907.         This tag is ignored when the WBRUSR_UpdateUserNr tag is not 
  3908.         supplied.
  3909.  
  3910.     WBRUSR_OnlyIfNotExist - If (BOOL) ti_Data is TRUE, the user will only
  3911.         be written to the database if the name given in BRUSR_Name don't 
  3912.         exist in the database. Default is FALSE. This tag is ignored when
  3913.         updating users with WBRUSR_UpdateUserNr.
  3914.  
  3915.    RESULT
  3916.     usernr - The number the user got in the database. Returns 0 on 
  3917.         failure.
  3918.  
  3919.    EXAMPLE
  3920.  
  3921.    NOTES
  3922.  
  3923.    BUGS
  3924.  
  3925.    SEE ALSO
  3926.  
  3927. bbsread.library/WritePassiveConfList     bbsread.library/WritePassiveConfList
  3928.  
  3929.    NAME    
  3930.     WritePassiveConfList -- Write to the passive conference list.
  3931.  
  3932.    SYNOPSIS
  3933.     error = WritePassiveConfList( bbs, passConfList )
  3934.     D0                            A0       A1
  3935.     
  3936.     BOOL WritePassiveConfList( struct BBSListItem *, struct List * );
  3937.  
  3938.    FUNCTION
  3939.     Writes a list of conference names to the passive conference list 
  3940.     datafiles. The old list is deleted before writing this new one. The 
  3941.     passive conference list is a list of *all* available conferences at
  3942.     the bbs. It should be used when the user want to send a join event.
  3943.  
  3944.     The list should only be written when the parser has got a list over 
  3945.     all conferences at the bbs. If you don't have the internal number for
  3946.     the conference, pl_BBSConfNr must be initalized to -1.
  3947.  
  3948.    INPUTS
  3949.     bbs - Pointer to the bbs which the list should be written to.
  3950.     passConfList - Pointer to a list of struct PasssConfListItem. 
  3951.  
  3952.    RESULT
  3953.     error - Boolean.
  3954.  
  3955.    EXAMPLE
  3956.  
  3957.    NOTES
  3958.  
  3959.    BUGS
  3960.  
  3961.    SEE ALSO
  3962.  
  3963.